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参数。
时间: 2024-10-18 02:09:47