千家信息网

MySQL5.6 备份之mysqldump(一)

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Usage: mysqldump [OPTIONS] database [tables]OR mysqldump [OPTIONS] -databases [OPTIONS] DB1 [DB2 DB3
千家信息网最后更新 2025年01月20日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.sql2.--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.sql3.--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.sql4.--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.sql6.--master-data 导出带有master_log_file和master_log_pos 信息,初始化slave时候使用例子:   mysqldump -u root -ppassword -P3306 -S /tmp/mysql.sock --master-data --all-databases > all.sql7.--single-transactionInnoDB表在备份时,启用选项--single-transaction来保证备份的一致性,它的工作原理是设定本次session的隔离级别为REPEATABLE READ,以确保本次会话备份时,不会看到其他会话已经提交了的数据。同时加global read lock 的时间很短,可以理解为hot backup,所以强烈建议在用mysqldump参数做备份的时候加上--single-transaction参数。


0