Mysqldump常用工具参数详解

发布于:2024-06-11 ⋅ 阅读:(112) ⋅ 点赞:(0)

mysqldump 是 MySQL 的一个非常实用的命令行工具,用于进行数据库的逻辑备份。以下是一些 mysqldump 的常用参数及其详解:

  1. –all-databases-A: 导出所有数据库。

    • 示例:mysqldump -uroot -p --all-databases > alldb_backup.sql
  2. –all-tablespaces-Y:导出所有表空间。

    • 示例:mysqldump -uroot -p --all-databases --all-tablespaces > alldb_with_tablespace_backup.sql
  3. –no-tablespaces-y:不导出任何表空间信息。

    • 示例:mysqldump -uroot -p --all-databases --no-tablespaces > alldb_without_tablespace_backup.sql
  4. –debug: 输出调试信息。

    • 示例:mysqldump -uroot -p --all-databases --debug
  5. –default-character-set:设置默认字符集。

    • 示例:mysqldump -uroot -p --all-databases --default-character-set=utf8
  6. –delayed-insert:采用延时插入方式导出数据。

    • 示例:mysqldump -uroot -p --all-databases --delayed-insert
  7. –delete-master-logs:主备份后删除日志,激活 --master-data

    • 示例:mysqldump -uroot -p --all-databases --delete-master-logs
  8. –disable-keys: 禁用索引,加快导入速度,适合 MyISAM 表。

    • 示例:mysqldump -uroot -p --all-databases --disable-keys
  9. –dump-slave:将主的 binlog 位置和文件名追加到导出数据文件中。

    • 示例:mysqldump -uroot -p --all-databases --dump-slave=1
  10. –master-data:将当前服务器的 binlog 位置和文件名追加到输出文件中。

    • 示例:mysqldump -uroot -p --host=localhost --all-databases --master-data=1
  11. –events-E:导出事件。

    • 示例:mysqldump -uroot -p --all-databases --events
  12. –extended-insert-e: 使用扩展的 INSERT 语法,使导出文件更小,加快导入速度。

    • 示例:mysqldump -uroot -p --all-databases --extended-insert
  13. –fields-terminated-by: 指定字段终止符,与 --tab 选项一起使用。

    • 示例:mysqldump -uroot -p test test --tab="/home/mysql" --fields-terminated-by="\t"
  14. –flush-logs: 开始导出前刷新日志。

    • 示例:mysqldump -uroot -p --all-databases --flush-logs
  15. –flush-privileges: 导出 mysql 数据库后,发出 FLUSH PRIVILEGES 语句。

    • 示例:mysqldump -uroot -p --all-databases --flush-privileges
  16. –force: 忽略出现的 SQL 错误。

    • 示例:mysqldump -uroot -p --all-databases --force
  17. –hex-blob:使用十六进制格式导出二进制字符串字段。

    • 示例:mysqldump -uroot -p --all-databases --hex-blob
  18. –ignore-table: 不导出指定的表。

    • 示例:mysqldump -uroot -p --all-databases --ignore-table=database.table
  19. –order-by-primary:如果存在主键,对每个表的记录进行排序。

    • 示例:mysqldump -uroot -p --all-databases --order-by-primary
  20. –password-p:指定连接数据库的密码。

    • 示例:mysqldump -uroot -p --all-databases > backup.sql
  21. –pipe: 在 Windows 系统上,使用命名管道连接 MySQL。

    • 示例:mysqldump -uroot -p --all-databases --pipe
  22. –port-P: 指定连接数据库的端口号。

    • 示例:mysqldump -h localhost -P 3306 -u root -p mydatabase > backup.sql
  23. –quick-q:不缓冲查询,直接导出到标准输出。

    • 示例:mysqldump -uroot -p --all-databases --quick
  24. –quote-names-Q: 使用反引号(`)引起表和列名。

    • 示例:mysqldump -uroot -p --all-databases --quote-names
  25. –replace: 使用 REPLACE INTO 取代 INSERT INTO

    • 示例:mysqldump -uroot -p --all-databases --replace
  26. –routines-R: 导出存储过程和自定义函数。

    • 示例:mysqldump -uroot -p --all-databases --routines
  27. –single-transaction:对于事务性存储引擎(如 InnoDB),保证备份一致性。

    • 示例:mysqldump --all-databases --single-transaction > alldb_backup.sql
  28. –tab-T:为每个表创建制表符分隔的文本文件。

    • 示例:mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"
  29. –tables:指定需要导出的表名。

    • 示例:mysqldump -uroot -p --host=localhost --databases test --tables test
  30. –triggers: 导出触发器。

    • 示例:mysqldump -uroot -p --host=localhost --all-databases --triggers
  31. –tz-utc:确保在不同时区导出的 TIMESTAMP 数据正确。

    • 示例:mysqldump -uroot -p --host=localhost --all-databases --tz-utc
  32. –user-u: 指定连接的用户名。

    • 示例:mysqldump -uroot -p --all-databases
  33. –verbose-v: 输出多种平台信息。

    • 示例:mysqldump -uroot -p --all-databases --verbose
  34. –version-V:输出 mysqldump 版本信息。

    • 示例:mysqldump --version
  35. –where-w: 只转储满足给定 WHERE 条件的记录。

    • 示例:mysqldump -uroot -p --host=localhost --all-databases --where="user='root'"
  36. –xml-X: 导出 XML 格式。

    • 示例:mysqldump -uroot -p --host=localhost --all-databases --xml

这些参数可以按照需要组合使用,以实现不同的备份策略和优化备份过程。


网站公告

今日签到

点亮在社区的每一天
去签到