Think before you speak, read before you think.

mysql备份和还原数据库

备份服务器上所有数据库,加上–opt表示采用优化(Optimize)方式。

mysqldump -uroot -ppasswd --opt --all-databases > allbackupfile.sql

mysqldump -uroot -ppasswd -A > allbackupfile.sql

备份指定数据库

mysqldump -uroot -ppasswd databasename > /tmp/dbbackup.sql

备份指定的表,写在要备份的库后面

mysqldump -uroot -ppasswd databasename table1 table2 > /tmp/tables.sql

还原MySQL数据库的命令(还原表就不用加表名了)

mysql -hhostname -uusername -ppassword databasename < backup.sql

还原为utf-8

mysql -uusername -ppassword databasename --default-character-set=utf8 < backup.sql

mysqldump 加 where

mysqldump -uroot -ppasswd databasename table1 --where "table1.a=1" > /tmp/table.sql

使用–tab方式备份和还原数据库

首先将备份文件存在/home/jpuyy/blog,这时会生成以表名命名的.sql和.txt文件,.sql保存了表的创建语句,.txt保存了以默认分隔符的纯数据文本。

mysqldump -u root -p --tab=/home/jpuyy/blog database

接下来需要导入数据库时

mysqladmin create newdatabase
cat /home/jpuyy/blog/*.sql | mysql newdatabase
mysqlimport newdatabase /home/jpuyy/blog/*.txt

 

只导出表结构

mysql -hhostname -uusername -ppassword -d databasename > backup.sql

简单的每小时备份脚本

#/bin/bash
datetime=`date +%F-%H:%M`
mysqldump -udba -p'passwd' --opt --all-databases > all-databases-$datetime.sql
gzip all-databases-$datetime.sql

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *