mysqldump 备份恢复数据库


mysqldump 程序可以用来备份和恢复数据库,默认情况 mysqldump 会创建 drop table,create table 和 insert into 的 sql 语句。

语法

> mysqldump [options] db_name [tbl_name ...]
> mysqldump [options] --databases db_name ...
> mysqldump [options] --all-databases

备份指定数据库

mysqldump -uroot -p[passwd] db1 > dumpfilename.sql

备份多个数据库

mysqldump -uroot -p[passwd] --databases db1 db2 > dumpfilename.sql

备份所有数据库

mysqldump -uroot -p[passwd] --all-databases > dumpfile.sql

备份指定表

mysqldump -uroot -p[passwd] db1 table1 > db1_table1.sql

只备份表结构

mysqldump -uroot -p[passwd] -d db1 > dumpfile.sql

如果不想要 drop table,附上参数--compact

mysqldump -uroot -p[passwd] --compact db1 > dumpfile.sql

还原

mysql -uroot -ppassword db1 < dumpfile.sql

如果存储引擎是 MYISAM,还可以使用 mysqlhotcopy

mysqlhotcopy -u root -p passwd db1 备份目录

注意 -u 后面有个空格,mysqlhotcopy 相当于把数据库文件拷贝到新的目录,恢复的方法就是把该备份目录拷贝到 mysql 数据目录下面。

更多mysqldump备份还原操作可见——还原工具mysqldump

数据量较少的网站,还可使用PHP备份,详见《如何使用 PHP 以发送邮件的方式自动定时备份 MySQL 数据库表数据》