--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: