备份服务器上所有数据库,加上–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
Leave a Reply