强烈建议使用以下命令:
# 恢复时删表 /usr/bin/mysqldump --skip-opt -a -q --add-drop-database --extended-insert --add-drop-table --single-transaction -u'user' -p'password' test > /tmp/11.sql # 恢复时删表,insert分多条进行导入,恢复时间较长【数据量特别大时,为防止恢复时内存溢出,可使用此种方法进行导出】 /usr/bin/mysqldump --skip-opt -a -q --extended-insert --add-drop-table --single-transaction -u'user' -p'password' test > /tmp/22.sql # 恢复不删库,仅删表,一条insert进行导入,数据多有时候可能容易内存溢出【数据量不大时,可使用此用方法,算是最常用的吧】 /usr/bin/mysqldump --skip-opt -a -q --add-drop-table --single-transaction -u'user' -p'password' test > /tmp/33.sql
Mysqldump 导出表结构异常
--skip-opt -q -R --set-gtid-purged=OFF --extended-insert --add-drop-database --add-drop-table --single-transaction
发现如下:
-
–skip-opt 选项,相当于
--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys
-
--created-options :
-a, --create-options Include all MySQL specific create options.
-
如果把它 disable 的话,备份出来的表结构,会少了:
AUTO_INCREMENT --PK字段的AUTO_INCREMENT属性以及数据表的AUTO_INCREMENT属性都会丢掉 ENGINE=InnoDB DEFAULT CHARSET=utf8 --数据表的引擎、字符集属性
加上 -a 后正常