从mysql Workbench 6.0导出数据


98

我正在尝试使用Windows上的MySQL Workbench 6.0导出数据库,以发送到Amazon RDS中的数据库实例,但出现此错误:

Operation failed with exitcode 7
11:34:40 Dumping clubbin (taxicompanies)
Running: "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe"
-defaults-extra- file="c:\users\selene\appdata\local\temp\tmp6o0hno.cnf"
--max_allowed_packet=1G --delayed-   insert=FALSE --host=localhost --user=root
--port=3306 --default-character-set=utf8 "clubbin"   "taxicompanies"
mysqldump: [ERROR] unknown variable 'delayed-insert=FALSE'

有人有什么想法可以帮助我吗?

Answers:


283

mysqldump:[错误]未知变量'delayed-insert = FALSE'


此错误发生在各种系统上,可以通过以下方式临时解决:

  1. 根据系统转到相应的目录:

    A)的WindowsC:\Program Files\MySQL\MySQL Workbench 6.3 CE\modules(32位安装在x64系统:C:\Program Files (x86)\MySQL\MySQL Workbench 6.3 CE\modules

    b)Mac OS XApplications/MYSQLWorkbench.app/Contents/Resources/plugins-右键单击该应用程序,然后选择“显示包内容”以进入该应用程序(感谢Bradley Flood

    c)Linux Ubuntu:(/usr/lib/mysql-workbench/modules感谢Alessandro Lopes

  2. 打开文件 wb_admin_export_options.py

  3. 查找线 "delayed-insert":["Write INSERT DELAYED statements rather than ...

  4. #在此行的开头插入以将其注释掉

  5. 保存文件并重新启动Workbench。


在Windows 7 x64,MySQL 5.6.27(MyISAM)和Workbench 6.3.5 x64上进行了测试。

在OSX Yosemite 10.10.4,MySQL 5.5.27(MyISAM),Workbench 6.3.5 build 201 CE x64上进行了测试。


18
对于OSX上的用户,该wb_admin_export_options.py文件位于中Applications -> MYSQLWorkbench.app/Contents/Resources/plugins。注意:右键单击该应用程序,然后选择Show Package contents进入该应用程序。
布拉德利洪水

自2015年11月1日起,在新Mac上全新安装所有新MySQL软件,并具有所有更新。这解决了导出数据问题。谢谢!
Nostalg.io 2015年

2
对于Ubuntu用户,其位置为/usr/lib/mysql-workbench/modules/wb_admin_export_options.py
Brian Leishman

1
INSERT DELAYED仅适用于MyISAM,MEMORY,ARCHIVE和BLACKHOLE表。对于不支持DELAYED的引擎,会发生错误。如果您使用的是innodb,请注释掉
Pascal

@cybermonkey-您确定吗?我已经在Win32和Win64上测试过x32和x64的工作台-始终安装在路径中没有“(x86)”的“程序文件”中
c4pricorn

8

这对我有用。

编辑文件C:\ Program Files \ MySQL \ MySQL Workbench 6.3 CE \ modules \ wb_admin_export_options.py(确保以管理员身份打开编辑器)

找到这行:

延迟插入”:[[写入INSERT DELAYED语句,而不是INSERT语句。“,” FALSE“,” BOOL“,(” 5.0.0“,” 5.7.0“)]],

并在行的开头添加一个井号“#”,使其看起来像这样:

#delay-insert“:[[写INSERT DELAYED语句而不是INSERT语句。”,“ FALSE”,“ BOOL”,(“ 5.0.0”,“ 5.7.0”)]],

这将注释掉该行,以便Workbench不会使用此语句。

保存并关闭文件。

启动Workbench,然后重试。

参考http://dannytsang.co.uk/mysql-workbench-error-code-7/


对不起,如果我错过了-这与c4pricorn的答案有何不同?
鲁芬

5

在Linux Ubuntu / Mint上:

该配置文件位于:/usr/lib/mysql-workbench/modules/wb_admin_export_options.py

如c4pricorn所述,只需注释行“ delayed-insert”:[“ Write INSERT DELAYED语句,而不是...

并重新启动工作台。


1

延迟插入在5.6中已弃用,并在5.7中转换为普通插入(另请参见http://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html)。我不知道为什么mysqldump在此报告错误。无论如何,必须将MySQL Workbench调整为不delayed-insert用于转储。您能否在http://bugs.mysql.com上提交错误报告,以将其提交给MySQL Workbench的agenta?


1
但他们将其固定关闭。看起来他们不知道自己在做什么。按照他们的建议使用从mysql服务器5.5安装中使用的mysqldump会抱怨另一个不受支持的参数:mysqldump: unknown variable 'set-gtid-purged=OFF'
clst 2015年

该错误是旧的(1.5岁),完全不同(已修复)。在此询问的问题与新的MySQL服务器(5.7.x)有关。此问题已在MySQL Workbench 6.3.6中修复。
Mike Lischke,2015年

奇怪的是,就在昨天,我与MySQL CE 5.5.46和Workbench 6.3.5遇到了相同的错误。升级到5.5.47和6.3.6的一切现在似乎已固定。仅在启用了延迟插入命令行选项后才添加它们。默认情况下使用服务器安装中的mysqldump。使用内置的mysqldump时,该选项不可见。是的,比以往任何时候都更好!感谢您的提示。
clst

1

在CentOS 7中,

打开文件/usr/lib64/mysql-workbench/modules/wb_admin_export_options.py查找行“ delayed-insert”:[“写INSERT DELAYED语句,而不是...在此行的开头插入#来注释它保存文件并重新启动工作台。


1

如先前文章中所强调的那样,通过在wb_admin_export_options.py中的延迟插入行中添加#确实可以解决问题。我想补充的是,当我尝试在记事本和Pythonwin中对其进行编辑时,遇到了管理员权限问题他们不允许我在编辑后保存文件。我最终通过在notepad ++中进行编辑和保存来解决该文件。可以从此处下载文件https://notepad-plus-plus.org/


0

消除延迟插入线wb_admin_export_options.py可解决此问题。您需要获得管理员权限才能修改文件。

尽管如此,请考虑您的MySQL数据库之前可能尚未正确升级。


0

在编辑器上要小心:在Win7 64记事本上,此修改无效。记事本将显示一行,使用带有crlf的编辑器。


0

在升级到最新版本之前,我一直遇到此错误。目前是8.0.15。修复了我的Mac。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.