Php mysqlworkbench在导出数据库时给出版本错误
当我试图通过MySQL Workbench从localserver远程导出数据库时 我收到一些以下版本错误: mysqldump版本不匹配[Content]mysqldump.exe的版本为5.5.16,但要转储的MySQL服务器的版本为5.6.10-log。由于mysqldump的版本比服务器的版本旧,因此可能无法正确备份某些功能。建议您将本地MySQL客户端程序(包括mysqldump)升级到与目标服务器相同或更新的版本。然后必须在“首选项->管理员->mysqldump工具路径”中设置转储工具的路径 我正试图找到一个解决方案——我在谷歌上搜索了这个解决方案,但找不到一个好的答案来解决这个问题Php mysqlworkbench在导出数据库时给出版本错误,php,mysql,export,mysql-workbench,Php,Mysql,Export,Mysql Workbench,当我试图通过MySQL Workbench从localserver远程导出数据库时 我收到一些以下版本错误: mysqldump版本不匹配[Content]mysqldump.exe的版本为5.5.16,但要转储的MySQL服务器的版本为5.6.10-log。由于mysqldump的版本比服务器的版本旧,因此可能无法正确备份某些功能。建议您将本地MySQL客户端程序(包括mysqldump)升级到与目标服务器相同或更新的版本。然后必须在“首选项->管理员->mysqldump工具路径”中设置转储
有人知道如何在MySQL Workbench中解决这个问题吗?消息说您需要一个更新的mysqldump工具。与要从中转储的服务器匹配的服务器。因此,根据您运行的平台,从具有最新版本的服务器安装中获取mysqldump工具的副本。每台服务器都附带一个mysqldump工具。因此,获得副本应该很容易
将该工具放在一个具有持久主目录但不与其他实例冲突的位置,并将MySQL Workbench指向它(如消息所述)。转到:
编辑->首选项管理员->Mysqldumptool的路径:
在MySQL服务器安装文件夹中查找文件mysqldump.exe
(可以是:MySQL/bin/
)。
然后单击它,然后OK
。然后尝试备份。幸运的是,虽然不明显,但有一个相当简单的解决方案。您只需要更新mysqldump.exe
。可以在中找到.exe
文件的最新版本。要解决此问题,只需转到Edit->Preferences->Administrator
,然后浏览以下路径
C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe
抓取此文件并在mysqldump工具的路径中替换它
在前面提到的路径之前可能设置了以下路径,因此只需将其替换为较新的路径即可
C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\mysqldump.exe
对于您来说,路径可能略有不同,但解决方案保持不变。
在某些操作系统(64位)中,有两个文件夹
C:\ProgramFiles(x86)\MySQL
和
C:\ProgramFiles\MySQL
但是你必须选择C:\ProgramFiles\MySQL
希望它能有所帮助:)在我的Mac上(运行最新的Mac OS Sierra),我将mysqldump的路径改为/Applications/XAMPP/xamppfiles/bin/mysqldump,这就解决了问题。以前,路径被设置为mysqldump的不同版本(旧版本)。因此,您需要获取mysqldump的最新版本。wb_admin_export.py(由mysqldump使用)查看路径变量以查找mysqldump并获取版本号。确保其mysqldump来自mysql捆绑包,而不是mysql workbench…在基于Linux的Ubuntu中,编辑>首选项…>管理(选项卡),将“mydqldump工具的路径”设置为/usr/bin/mysqldump(默认情况下,最有可能是它假定的位置)
如果您不确定,可以通过在终端中运行以下命令来尝试查找mysqldump的位置:
locate mysqldump
由于Mac用户并不完全清楚这些答案,因此我在这里找到了我的MySQLDump文件:
应用程序>MAMP>库>bin>mysqldump
快速搜索“mysqldump”应该可以找到这个。
我按照上面的答案去做:
首选项>管理>mysqldump工具的路径:
这是我现在的路径:/Applications/MAMP/Library/bin/mysqldump我试图使用默认的mysqldump使用Edit>Preferences解决这个问题…>管理(选项卡)
,并从/usr/bin/mysqldump
进行设置,但设置不起作用
我看到XAMPP服务器也有一个mysqldump文件,它工作得很好!通常,您可以在/opt/lampp/bin/mysqldump
(适用于Debian和类似版本)中找到它,因此您可以在工作台内部的首选项中使用此路径。当mysql工作台的版本与mysql服务器的版本不同时,会发生这种情况。解决方案是使用与服务器版本相同的mysqldump.exe进行导出/转储。
步骤:
下载与服务器相同版本的mysql zip。(例如mysql-5.7.25-winx64.zip)
在此zip文件中,您将在bin文件夹下找到mysqldump.exe
打开Mysql工作台。转到编辑->首选项->管理
现在,在mysqldump工具的路径中,给出下载的mysqldump.exe的路径
Mac用户:我在更新MySQLWorkbench后遇到了这个问题。什么都试过了。。。。最后,我下载了旧版本并降级了MySQLWorkbench。工作完美无瑕。我确实从这里获取了mysql版need的存档
从那里开始使用。这对我很有帮助。对于Mac用户,只有在重新启动Mysql Workbench,在设置(编辑-首选项-管理员)中设置Mysqldumptool的路径后,它才能工作。这里的其他答案对我都不起作用,所以我将发布另一种修复我的方法(我使用的是Windows WSL Ubuntu 18.04)
TL;DR:检查MySQL的配置文件中是否有行local_infle=1
,并将其更改为loose local infle=1
,如果您现在不需要,则将其全部注释掉,然后重新启动MySQL工作台
进一步解释:我关闭MySQL Workbench并打开终端,运行了mysqldump--version
,它给了我这个错误:mysqldump:[error]未知变量“local\u infle=1”。
,我意识到我以前在/etc/my.cnf
文件中添加了一些内容,以便使用本地文件将一些数据导入数据库,但是,一些其他MySQL工具(如
def get_mysqldump_version():
#path = get_path_to_mysqldump()
#if not path:
# log_error("mysqldump command was not found, please install it or configure it in Edit -> Preferences -> Administration")
# return None
#
#output = StringIO.StringIO()
#rc = local_run_cmd('"%s" --version' % path, output_handler=output.write)
#output = output.getvalue()
#
#if rc or not output:
# log_error("Error retrieving version from %s:\n%s (exit %s)"%(path, output, rc))
# return None
#
#regexp = ".*Ver ([\d.a-z]+).*"
#if ("Distrib" in output):
# regexp = ".*Distrib ([\d.a-z]+).*"
#
#s = re.match(regexp, output)
#
#if not s:
# log_error("Could not parse version number from %s:\n%s"%(path, output))
# return None
#
#version_group = s.groups()[0]
#major, minor, revision = [int(i) for i in version_group.split(".")[:3]]
#return Version(major, minor, revision)
return Version(5, 7, 30)