MySQL 命令行工具之 mysqldump 深入研究(10)

  --add-drop-database  Add a DROP DATABASE before each create.
  --add-drop-table        Add a DROP TABLE before each create.  (Defaults to on; use --skip-add-drop-table to disable.)
  --add-drop-trigger      Add a DROP TRIGGER before each create.

  --no-create-db,-n

--no-create-info,-t

8. mysqldump 导出格式 的相关选项

1)--compatible=name 

Change the dump to be compatible with a given mode. By default tables are dumped in a format optimized for MySQL.

Legal modes are: ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options,

    no_field_options. One can use several modes separated by commas. Note: Requires MySQL server version 4.1.0 or higher.

This option is ignored with earlier server versions.

导出sql语句的兼容格式。如果我们需要从MySQL导出,然后导入到其它数据库,则可使用该选项。--compatible=oracle/postgresql/mssql

2)-Q, --quote-names 

Quote table and column names with backticks (`). (Defaults to on; use --skip-quote-names to disable.)

将表名和列名使用 ``包裹。以防他们是关键字时报错。

9. mysqldump 错误处理的相关选项

1)-f, --force             Continue even if we get an SQL error.

2)--log-error=name    Append warnings and errors to given file.

10. mysqldump 实现原理

为了探求 mysqldump 的备份是如何实现的,我们需要在 my.cnf 中的[mysqld] 参数段加入:

general_log=on general_log_file=general.log

这样我们就可以通过观察 general.log 的输出,来了解 mysqldump 的备份是如何实现的。

1)--lock-tables 是如何实现的:

先执行:mysqldump -uroot -p --databases gs --lock-tables > gs_l.sql, 然后查看 general.log:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/38784cef23fd1f12966185d2cc51010a.html