mysqldump命令详解 (用户:root,密码123456)
-A/--all-databases 备份全部数据库
实例:mysqldump -uroot -p123456 -all-databases > /tmp/20191023.sql
-B/--databases 备份多个数据库
实例:mysqldump -uroot -p123456 -databases database1 database2 > /tmp/20191023.sql
-Y/--all-tablespaces 备份全部表空间
实例:mysqldump -uroot -p123456 --all-databases --all-tablespaces > /tmp/20191023.sql
-y/--no-tablespaces 不备份任何表空间
实例:mysqldump -uroot -p123456 --all-databases --no-tablespaces > /tmp/20191023.sql
--add-drop-database 创建数据库之前添加drop数据库语句。
实例:mysqldump -uroot -p123456 --all-databases --add-drop-database > /tmp/ 20191023.sql
--add-locks 在每个表导出之前增加lock-tables并且之后unlock table。(默认是打开的,取消用skip-add-locks)
默认:mysqldump -uroot -p123456 --all-databases
实例:mysqldump -uroot -p123456 --all-databases -skip-add-locks
--allow keywords 允许创建关键字的列名字,这由表名前缀于每个列名做到。
实例:mysqldump -uroot -p123456 --all-databases --allow-keywords
--apply-slave-statements 在'CHANGE MASTER'前添加'STOP SLAVE',并且在导出的最后添加'start slave'。
实例:mysqldump -uroot -p123456 --all-databases -apply-slave-statements
--character-sets-dir 字符集文件的目录
实例:mysqldump -uroot -pzabbix --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--comments 附加注释信息,默认是打开的,可以用--skip-comments取消。
默认:mysqldump -uroot -p123456 --all-databases
实例:mysqldump -uroot -p --all-databases --skip-comments
--compatible 导出的数据将和其他数据库或旧版本的mysql相兼容。值可以为ansi,mysql323,mysql40,postgresql,mysql,db2,mariadb,no_key_options,no_tables_options,no_field_options等,要使用几个值,用逗号将他们隔开。它并不能保证能完全兼容,而是尽量兼容。
实例:mysqldump -uroot -p123456 --all-databases --compatible=ansi
--commpact 导出更少的输出信息(用于调试),去掉注释和头尾等结构,可以使用选项skip-add-drop-table,--skip-add-locks,--skip-comments,--skip-disable-keys
实例:mysqldump -uroot -p123456 --all-databases --compact
--complete-insert,-c 使用完整的insert语句(包含列名称)。这样做提高插入效率,但是肯能会受到max_allowed_packet参数的影响而导致插入失败。
实例:mysqldump -uroot -p123456 --all-databases --complete-insert
--compress,-C在客户端和服务器之间启用压缩传递所有消息。
实例:mysqldump -uroot -p123456 --all-databases --compress
--debug 输出debug信息,用于调试。默认值为;d:t:o,/tmp/mysqldump.trace
实例:mysqldump -uroot -p123456 --all-databases --debug
默认:mysqldump -uroot -p123456 --all-databases --debug="d:t:o,/tmp/debug.trace"
--debug-into 输出调试信息并退出
实例:mysqldump -uroot -p123456 --all-databases --debug-into
--default-character-set 设置默认字符集,默认为utf-8
实例:mysqldump -uroot -p123456 --all-databases --default-charcater-set=latin1
--delayed-insert 采用延时插入方式(INSERT DELAYED)导出数据
实例:mysqldump -uroot -p123456 --all-databases --delayed-insert
--events,-E 导出事件。
实例:mysqldump -uroot -p123456 --all-databases --events
--flush-logs 在开始导出之前刷新日志。
注意:假如一次导出多个数据库(使用选项--databases或者--all-databaes),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,响应的所以表同时被锁定。因此,如果打算同时导出和刷新日志所以用该使用--lock-all-tables或者--master-data和--flush-logs。
实例:mysqldump -uroot -p123456 --all-databases --flush-logs
--flush-privileges 在导出数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库的任何时候。
实例:mysqldump -uroot -p123456 --all-databases --flush-privileges
--force在导出过程中忽略出现的SQL错误。
实例:mysqldump -uroot -p123456 --all-databases --force
--host,-h 需要导出的主机信息
实例:mysqldump -uroot -p123456 --host=localhost --all-databases
--ignore-table不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2......
实例:mysqldump -uroot -p123456 --host=localhost --all-databases --ignore-table=mysql.user
--lock-all-tables,-x 提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction和--lock-tables选项。
实例:mysqldump -uroot -p123456 --host=localhost --all-database --lock-all-tables
--lock-tables,-l 开始导出前,锁定所有表。用READ LOCAL锁定表以允许MylSAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁表。请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不通数据库表的导出状态可以完全不同。
实例:mysqldump -uroot -p123456 --host=localhost --all-databases --lock-tables
--no-create-db,-n 导出数据,而不添加CREATE DATABASE语句。
实例:mysqldump -uroot -p123456 --host=localhost --all-databases --no-create-db
--no-create-info,-t 只导出数据,而不添加CREATE TABLE语句。
实例:mysqldump -uroot -p123456 --host=localhost --all-databases --no-create-info
--no-data,-d 不导出任何数据,只导出数据库表结构。
实例:mysqldump -uroot -p -host=localhost --all-databases --no-data
--password,-p 连接数据库密码
--port,-P 连接数据库端口号
--user,-u 指定连接数据库的密码