在使用 MySQL Workbench 導出資料庫表結構與資料時,點擊執行導出後遭遇以下錯誤:
16:22:40 Dumping nacweixindb (tb_app) Running: mysqldump.exe --defaults-file="c:\users\admini~1\appdata\local\temp\tmpswfutq.cnf" --delayed-insert=FALSE --host=localhost --protocol=tcp --user=root --port=3306 --default-character-set=utf8 --single-transaction=TRUE --skip-triggers "test_db" mysqldump: [ERROR] unknown variable 'delayed-insert=FALSE' Operation failed with exitcode 7
多次重試均無效,經查詢 MySQL 官方 Bug 列表發現這是已知問題 Bug #71811:Workbench 無法建立 Single Transaction 轉儲。
MySQL 5.7 版本已移除 delayed-insert 參數,但 Workbench 6.3 CE 仍在導出命令中包含此已棄用參數,導致 mysqldump 執行失敗。
modules 資料夾,預設路徑為:C:\Program Files (x86)\MySQL\MySQL Workbench 6.3 CE\moduleswb_admin_export_options.py 檔案"delayed-insert" 設定項#),如下所示:
"Inserts":{
"extended-insert":["Use multiple-row INSERT syntax that include several VALUES lists.","TRUE"],
# "delayed-insert":["Write INSERT DELAYED statements rather than INSERT statements.","FALSE", "BOOL", ("5.0.0", "5.7.0")],
"add-locks":["Surround each table dump with LOCK TABLES and UNLOCK TABLES statements.","TRUE"],
...
}
重啟後再次執行導出操作,錯誤不再出現,資料庫結構與資料可正常導出。