Mysqldump 导出表结构异常

强烈建议使用以下命令:
# 恢复时删表
/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 后正常