我试图从我的MySQL数据库创建转储文件,但是当我尝试它总是给我这个错误
exitcode 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
有人知道如何解决这个问题吗?
答案 0 :(得分:41)
正如之前的回答所述,但只是为了进一步澄清:这是针对Windows中的MySQL。
在尝试从本地测试服务器上的表中转储数据时,我遇到了完全相同的问题,并且基于之前的答案,我就是这样做的。
/bin
文件夹,应该有一个mysqldump.exe
。 Edit -> Preferences -> Administrator -> Path
到mysqldump工具,然后输入您找到的mysqldump.exe的路径。cmd
,找到在步骤1中找到的sql文件夹,然后cd到bin。它应该看起来像C:\...\bin>
。在此输入mysqldump -t -u [username] -p [database name] [tablename]
。这应该将数据从[tablename]
表转储到Workbench中指定的转储文件夹中。希望这有帮助!
答案 1 :(得分:23)
我在MySQL Workbench中遇到了同样的错误。
它应该有用。
答案 2 :(得分:19)
原因是MySQL 5.6已经删除了对“SET OPTION”的支持,而你的mysql客户端工具可能是旧版本。最有可能是5.5或5.1。有关MySQL错误网站上此问题的更多信息。
最快的解决方案是将您的mysql客户端工具更新到5.6,您的问题将得到解决。如果您使用的是Linux平台,这里有一个对我有用的解决方案: http://www.markomedia.com.au/mysqldump-mysql-5-6-problem-solved/
答案 3 :(得分:6)
您必须使用mysqldump 5.6.x才能转储mysql 5.6数据库,因为MySQL 5.6已停止并删除了对SET OPTION语法的支持。
在32 / 64bit Windows下你必须这样做:
1.1。 (32位获胜)下载Windows(x86,32位),ZIP存档5.6.19 212.3M http://dev.mysql.com/downloads/mysql/(直接链接http://dev.mysql.com/downloads/file.php?id=452188)
1.2。 (64位获胜)下载Windows(x86,64位),ZIP存档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中提取mysqldump.exe(来自/mysql-5.6.19-win32(64)/bin/mysqldump.exe)
3.用刚刚安装的mysqldump.exe文件替换刚提取的文件(instalation dir / mysql / bin / mysqldump.exe)
答案 4 :(得分:4)
使用Windows 7,对我来说更简单的解决方案是从中找到mysqldump.exe; C:\ Program Files \ MySQL \ MySQL Server 5.6 \ bin \ mysqldump.exe
复制它,然后替换MySQL工作台mysqldump.exe,它位于工作台的根目录 C:\ Program Files \ MySQL \ MySQL Workbench CE 5.2.47 \ mysqldump.exe 强>
重启MySQL工作台,一切正常。
答案 5 :(得分:1)
您可能正在使用Amazon RDS,对吧? 您可以获得更新版本的mysqldump,v5.6并使用它。
在此处下载便携式zip并在那里仅提取mysql \ mysqldump.exe。 http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.8.3/
我刚才尝试过,它对我来说很好。
答案 6 :(得分:1)
如果您使用Window 10
。您的Mysql server
已安装在C:\Program Files\MySQL
目录中,其余所有组件都安装在C:\Program Files (x86)\MySQL
中。
转到MySql Workbench
> Edit
> Preferences
。将打开一个窗口,单击“管理员”选项卡,然后提及mysqldump.exe
的路径(C:\Program Files\MySQL
中存在)。重新启动工作台。
谢谢,快乐编码!!
答案 7 :(得分:1)
在Workbench中查找首选项:编辑 - >偏好 - >管理员 - > mysqldump工具的路径。浏览bin文件夹中的MySQL文件夹,然后查找mysqldump.exe。
答案 8 :(得分:0)
答案 9 :(得分:0)
我在访问RDS Mysql 5.6数据库的Amazon EC2上遇到此问题。我跑了
sudo apt-get upgrade
它没有将mysql客户端更新为5.6,但mysqldump现在工作正常。
答案 10 :(得分:0)
对于Mac,它取决于您的安装。
如果您使用dmg文件进行安装,则需要找到bin目录。
我在/usr/local/mysql/bin
下
你会在这个文件夹下找到mysqldump文件。
现在提供您的位置
偏好 - >管理员 - > mysqldump工具的路径为/usr/local/mysql/bin/mysqldump
你现在应该好好出口。
答案 11 :(得分:0)
我有 Mysql 5.6.12 版本。 SET SQL_QUOTE_SHOW_CREATE=1
在我的机器上工作正常。
现在我可以转储sql。
的MySQL> SET SQL_QUOTE_SHOW_CREATE = 1;查询OK,0行受影响(0.00 秒)
为我工作。
答案 12 :(得分:0)
如果您使用的是Linux,请将mysql-client更新为最新版本。在Ubuntu上:
UIViews
为我做了这份工作。
sudo apt-get upgrade mysql-client
我的更新到5.5,mysqldump现在适合我。这是在Amazon RDS上使用MySQL 5.6.x
答案 13 :(得分:0)
如果你在linux机器上,这是由mysql-client
包提供的。安装解决了我的问题。
答案 14 :(得分:0)
出于兼容性考虑,我需要在Windows 10计算机上安装MySQL 5.6.41
,因此我使用5.6.41 MySQL installer
安装“全部”(我的工作台,MySQL,连接器等)。
即使我使用的安装程序的版本为5.6.41,它也安装了Workbench 8.0
以及各种连接器的8.0版等。
所以,当然,我遇到了类似的错误。
似乎没有简单的方法强制安装较低版本的MySQL Workbench(在我以前的机器上,在Workbench 8.0之前的版本中,安装时没有此冲突)。
对我有用的解决方案:
查找与您使用的MySQL版本匹配的mysqldump.exe
的版本:
mysqldump.exe
的所有版本的计算机mysqldump.exe
-> Properties
-> Details
标签。 5.6.41
(与我正在运行的MySQL版本匹配)单击回到General
选项卡,以查看在
C:\Program Files\MySQL\MySQL Server 5.6\bin
(版本8.0已安装在C:\Program Files\MySQL\MySQL Workbench 8.0 CE
中)
现在打开MySQL Workbench。
编辑->首选项->管理-> mysqldump工具的路径
在文件路径中粘贴mysqldump.exe
的相应版本(包括文件名!)
点击OK
重新启动MySQL Workbench
这对我有用。但是,如果您的计算机上有两个版本的MySQL,例如MySQL 5.6和5.7或8.0,我不知道如何使它起作用。
因此,当我将(任何/全部/全部)云服务器升级到5.7版时,这似乎是要克服的另一项挑战。由于Workbench仅允许使用一个mysqldump.exe
文件,无论我的本地MySQL服务器运行的是哪个版本,都可以使用...或者手动更改路径位置,每次打开使用端口连接到< em> other MySQL版本(还记得改回来吗?)。
由于这个原因,我完全Removed
使用MySQL 5.7,,因此暂时将所有云(和本地)服务器的版本保持在5.6,这又是一个项目。 / p>
答案 15 :(得分:0)
为使Ubuntu用户节省时间,mysqldump位于“ mysql-community-client_5.7.26-1ubuntu16.04_i386.deb”软件包中
答案 16 :(得分:0)
我只是遇到了同样的问题,所以我给出了两个不同的答案。
对我来说,优点是,我可以轻松地在5.6、8 ...之间切换,而不必每次都对ubuntu依赖项进行升级/降级。
对我来说,在Ubuntu上最简单的方法是只下载5.6(或5.7,无论您想要什么)mysqldump二进制文件并在工作台中更改它。 此后一切进展顺利:
{{YOUR_UNPACKED_FOLDER}}/bin/mysqldump
Ok
现在您应该可以只导出,它将使用mysqldump 5.x。