Mysql备份压缩及恢复数据库方法总结

Mysql备份压缩及恢复数据库方法总结

一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。

在写自动备份脚本时,最好把备份结果直接压缩,恢复时也可以直接由压缩备份恢复。下面介绍如何使用bzip2和gzip进行压缩mysql备份文件。

备份并用bzip压缩:

代码如下

mysqldump | bzip2 > outputfile.sql.bz2

从bzip2备份恢复:

代码如下

bunzip2 < outputfile.sql.bz2 | mysql < mysql options>

备份并用gzip压缩:

代码如下

mysqldump | gzip > outputfile.sql.gz

从gzip备份恢复:

gunzip < outputfile.sql.gz | mysql < mysql options>

补充本文章

备份指定数据库

代码如下

mysqldump -h hostname -u username -p databasename > db.sql不明确指定路径的话被分到用户工作目录:C:Documents and SettingsAdministrator

可以明确指定备份目录:

代码如下
mysqldump -u root -p mydb -h 192.168.14.204 > D:mydb.sql

说明:

-p之后不用输入密码,点击回车键之后才需要输入密码。

直接将MySQL数据库压缩备份

代码如下
mysqldump -h hostname -u username -p databasename | gzip > db.sql.gz

说明:

gzip是linux下的压缩工具,所以在windows环境下无法使用。

备份MySQL数据库某个(些)表

代码如下
mysqldump -h hostname -u username -p databasename table1 table2 > db.sql

同时备份多个MySQL数据库

代码如下
mysqldump -h hostname -u username -p –databases db1 db2 db3 > dbs.sql

备份服务器上所有数据库

代码如下
mysqldump --all-databases > allbackupfile.sql

测试:

代码如下
mysqldump --all-databases -u root -p > allbackupfile.sql

Enter password: ******windows下可以使用Mysql Query Browser的File–》Open Script来执行备份的脚本,同时也可以使用一下命令直接进行恢复:

代码如下

mysql -h hostname -u username -p databasename < backupfile.sql