44

我试图从我的 MySQL 数据库创建一个转储文件,但是当我尝试时它总是给我这个错误

操作失败,退出代码 2

16:06:07 Dumping proactivetraindb (userstate)

Running: mysqldump.exe --defaults-extra-file="h:\docume~1\anarita\locals~1\temp\tmpde5rwy.cnf"  --user=root --max_allowed_packet=1G --host=localhost --port=3306 --default-character-set=utf8 "proactivetraindb" "userstate"

mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)

MySQl 的版本是 5.6.10 但 MySQLDump 的版本是 5.5.16

有人知道如何解决这个问题吗?

4

16 回答 16

43

正如先前的答案所述,但只是为了进一步澄清:这是针对 Windows 中的 MySQL 的。

我在尝试从本地测试服务器上的表中转储数据时遇到了完全相同的问题,并且根据之前的答案,我就是这样做的。

  1. 找到你的 mysql 原始下载文件夹,然后在/bin文件夹中查找,应该有一个mysqldump.exe.
  2. 进入 Workbench Preferences: Edit -> Preferences -> Administrator -> Pathto mysqldump Tool,然后输入您找到的 mysqldump.exe 的路径。
  3. 按“确定”并重新启动 Workbench 保存。
  4. 打开终端,但在cmd开始菜单的搜索区域输入(Windows 7),找到您在步骤 1 中找到的 sql 文件夹,然后 cd 进入 bin。它应该看起来像C:\...\bin>。在这里,输入mysqldump -t -u [username] -p [database name] [tablename]。这应该将[tablename]表中的数据转储到 Workbench 中指定的转储文件夹中。

希望这可以帮助!

于 2013-05-17T20:36:50.630 回答
24

我在 MySQL Workbench 中遇到了同样的错误。

  1. 找出安装 MySQL 5.6 时提供的 mysqldump 工具在哪里。在我的 Mac 上,它位于“usr/local/mysql-5.6.10-osx10.7-x86_64/bin/mysqldump”。
  2. 然后我在 MySQL Workbench/Preferences/Administrator/Path to mysqldump Tool 中设置了这个路径
  3. 重新启动 MySQL Workbench。

它应该工作。

于 2013-03-19T17:26:24.593 回答
20

这样做的原因是 MySQL 5.6 已经删除了对“SET OPTION”的支持,并且您的 mysql 客户端工具可能在旧版本上。很可能是 5.5 或 5.1。MySQL bugs 网站上有关于这个问题的更多信息。

最快的解决方案是将你的mysql客户端工具更新到5.6,你的问题就会得到解决。如果您在 Linux 平台上,这里有一个对我来说非常有用的解决方案:http: //www.markomedia.com.au/mysqldump-mysql-5-6-problem-solved/

于 2013-11-15T23:13:54.143 回答
6

您必须使用 mysqldump 5.6.x 才能转储 mysql 5.6 数据库,因为 MySQL 5.6 停止并删除了对 SET OPTION 语法的支持。
在 32/64 位 Windows 下,您必须执行以下操作:
1.1。(32bit win) 下载 Windows (x86, 32-bit), ZIP Archive 5.6.19 212.3M http://dev.mysql.com/downloads/mysql/ (直接链接http://dev.mysql.com/downloads/文件.php?id=452188 )
1.2. (64bit win) 下载 Windows (x86, 64-bit), ZIP Archive 5.6.19 217.2M http://dev.mysql.com/downloads/mysql/ (直接链接http://dev.mysql.com/downloads/ file.php?id=452189 )
2. 从刚刚下载的文件 mysql-5.6.19-win32(64).zip (from /mysql-5.6.19-win32(64)/bin/mysqldump.exe) 中提取 mysqldump.exe
3.用你已经安装的mysqldump.exe文件替换这个刚刚提取的文件(安装目录/mysql/bin/mysqldump.exe)

于 2014-06-13T14:04:01.150 回答
4

使用 Windows 7,对我来说一个更简单的解决方案是找到 mysqldump.exe;C:\Program Files\MySQL\MySQL 服务器 5.6\bin\mysqldump.exe

复制它,然后替换位于工作台C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\mysqldump.exe 根目录下的 MySQL 工作台 mysqldump.exe

重新启动 MySQL 工作台,一切正常。

于 2014-12-08T21:14:54.453 回答
1

您可能正在使用 Amazon RDS,对吧?您可以获取更新版本的 mysqldump v5.6 并改用它。

在此处下载可移植 zip 并在此处仅提取 mysql\mysqldump.exe。 http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.8.3/

我刚才试过了,对我来说效果很好。

于 2013-10-01T03:41:05.733 回答
1

如果您正在使用Window 10. 您Mysql server将安装在C:\Program Files\MySQL目录中,其余所有组件都安装在C:\Program Files (x86)\MySQL. 转到MySql Workbench> Edit> Preferences。将打开一个窗口,单击管理员选项卡并提及您的路径mysqldump.exe(位于 中C:\Program Files\MySQL)。重新启动您的工作台。

谢谢,快乐编码!

于 2016-02-11T08:29:53.240 回答
1

在 Workbench 中查找首选项:编辑 -> 首选项 -> 管理员 -> mysqldump 工具的路径。浏览 bin 文件夹中的 MySQL 文件夹并查找 mysqldump.exe。

于 2016-02-22T21:28:35.000 回答
0

我在访问 RDS Mysql 5.6 数据库的 Amazon EC2 上遇到了这个问题。我刚跑

sudo apt-get 升级

它没有将 mysql 客户端更新到 5.6,但 mysqldump 现在工作正常。

于 2014-01-03T16:09:06.017 回答
0

对于 Mac,这取决于您的安装。如果你使用 dmg 文件安装它,你需要找到 bin 目录。我的是在/usr/local/mysql/bin 这个文件夹下你会发现mysqldump文件。现在在您的首选项 -> 管理员 -> mysqldump 工具的路径中提供此位置,因为/usr/local/mysql/bin/mysqldump 您现在应该可以导出了。

于 2014-04-01T14:41:00.210 回答
0

如果您在 Linux 上,请将 mysql-client 更新到最新版本。在 Ubuntu 上:

sudo apt-get upgrade mysql-client

为我完成了这项工作。

Setting up mysql-client-5.5 (5.5.43-0ubuntu0.12.04.1) ...

我的更新到 5.5,mysqldump 现在对我有用。这是在带有 MySQL 5.6.x 的 Amazon RDS 上

于 2015-05-22T09:26:45.100 回答
0

如果您在 linux 机器上,这是由mysql-client软件包提供的。安装它为我解决了这个问题。

于 2016-12-02T21:55:54.753 回答
0

为了兼容性,我需要MySQL 5.6.41在我的 Windows 10 机器5.6.41 MySQL installer上安装“All”(我的工作台、MySQL、连接器等)。

即使我使用了 5.6.41 版的安装程序,它也安装了Workbench 8.08.0 版以及各种连接器等
。当然,我遇到了类似的错误。

似乎没有简单的方法来强制安装较低版本的 MySQL Workbench(在我以前的机器上,在工作台 8.0 之前,安装时没有这个冲突)。

对我有用的解决方案:

  1. 查找mysqldump.exe与您正在使用的 MySQL 版本匹配的版本:

    • 从 Windows 资源管理器中,我在我的机器上搜索了所有版本的mysqldump.exe
    • 右键单击mysqldump.exe找到的每个 -> Properties->Details选项卡。
    • 找到版本5.6.41(匹配我正在运行的 MySQL 版本)
    • 单击返回General选项卡,查看安装该版本 mysqldump.exe 的文件夹路径

    • C:\Program Files\MySQL\MySQL Server 5.6\bin,在我的情况下(版本 8.0 安装在C:\Program Files\MySQL\MySQL Workbench 8.0 CE

  2. 现在打开 MySQL Workbench..

    • 编辑 -> 首选项 -> 管理 -> mysqldump 工具的路径

    • 粘贴相应版本的文件路径mysqldump.exe(包括文件名!)

    • 点击OK

    • 重启 MySQL 工作台

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

这对我有用。但是,如果您的机器上有两个版本的 MySQL,比如 MySQL 5.6 和 5.7,或者 8.0,我不知道如何进行这项工作。
因此,当我将(任何/部分/全部)云服务器升级到 5.7 版时,这似乎是另一个需要克服的挑战。由于 Workbench 只允许单个mysqldump.exe文件,无论我的本地 MySQL 服务器正在运行哪个版本......或者可能手动更改路径位置,每次打开一个使用端口到另一个MySQL 版本的连接(并记住之后再改回来?)。

出于这个原因,我Removed完全使用 MySQL 5.7,因此暂时将所有云(和我的本地)服务器保持在 5.6 - 改天的项目。

于 2018-10-18T16:34:57.903 回答
0

为了 Ubuntu 用户节省您的时间,mysqldump 在“mysql-community-client_5.7.26-1ubuntu16.04_i386.deb”包中

于 2019-06-13T05:19:28.420 回答
0

我只是有同样的问题,我把几个不同的答案放在一起。

对我来说,专业人士是,我可以在 5.6、8、... 之间轻松切换,而不必每次都升级/降级 ubuntu 依赖项。

对我来说,在 Ubuntu 上最简单的方法是下载 5.6(或 5.7,无论你想要什么)mysqldump 二进制文件并在工作台中更改它。之后一切顺利:

  1. 转到https://downloads.mysql.com/archives/community/并下载您想要的正确版本(对我来说:5.6.47 for 64x)
  2. 在某处解压存档,稍后可以找到
  3. 将mysql工作台中的mysqldump二进制文件:编辑->首选项->管理员->“mysqldump工具的路径”改为{{YOUR_UNPACKED_FOLDER}}/bin/mysqldump
  4. 保存它Ok

现在您应该能够只导出并且它将使用 mysqldump 5.x。

于 2020-06-27T12:56:17.460 回答
-1

我有Mysql 5.6.12版本。SET SQL_QUOTE_SHOW_CREATE=1在我的机器上工作正常。现在我可以转储 sql 了。

mysql> SET SQL_QUOTE_SHOW_CREATE=1; 查询正常,0 行受影响(0.00 秒)

为我工作。

于 2014-04-23T06:36:05.710 回答