首页 > 代码库 > MySQL5.6 备份之mysqldump(一)

MySQL5.6 备份之mysqldump(一)

Usage: mysqldump [OPTIONS] database [tables] 
OR mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…] 
OR mysqldump [OPTIONS] –all-databases [OPTIONS] 
可使用mysqldump –help查看所有命令帮助

最常用的参数说明:
1. --all-databases ,-A:
导出全部数据库,包括mysql、informance_schema、performance_schema数据库
例子:mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --all-databases > all.sql
     或者:
     mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock -A > all.sql
2.--no-data, -d:
导出所有数据库的表结构,不包括数据
例子:mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --no-data --all-databases > 1.sql
     或者:
     mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock -d -A > 1.sql
3.--databases , -B
导出某个数据库的数据
例子:mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --databases testdatabase > 1.sql
    或者:
    mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock -B testdatabase > 1.sql
4.--add-drop-database:
每个数据库创建之前添加drop数据库语句,使用此选项需要谨慎,因为再导入数据库时候,会覆盖已经存在的数据库,此选项默认关闭。
5.--add-drop-table
每个数据表创建之前添加drop数据表语句,默认为打开状态,使用--skip-add-drop-table关闭该功能
例子:取消添加drop表语句:
mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --skip-add-drop-table --all-databases > all.sql
6.--master-data 
导出带有master_log_file和master_log_pos 信息,初始化slave时候使用
例子:
   mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --master-data --all-databases > all.sql
7.--single-transaction
InnoDB表在备份时,启用选项--single-transaction来保证备份的一致性,它的工作原理是设定本次session的隔离级别为REPEATABLE READ,
以确保本次会话备份时,不会看到其他会话已经提交了的数据。同时加global read lock 的时间很短,可以理解为hot backup,
所以强烈建议在用mysqldump参数做备份的时候加上--single-transaction参数。


本文出自 “12413959” 博客,请务必保留此出处http://12423959.blog.51cto.com/12413959/1883547

MySQL5.6 备份之mysqldump(一)