mysqlworkbench在导出数据库时出现版本错误

时间:2013-03-26 18:27:39

标签: php mysql export mysql-workbench

当我尝试从localserver远程通过mysqlworkbench导出我的数据库时,

我收到了以下版本错误。

mysqldump Version Mismatch  [Content] mysqldump.exe is version 5.5.16, but the MySQL Server to be dumped has version 5.6.10-log. Because the version of mysqldump is older than the server, some features may not be backed up properly. It is recommended you upgrade your local MySQL client programs, including mysqldump to a version equal to or newer than that of the target server. The path to the dump tool must then be set in Preferences -> Administrator -> Path to mysqldump Tool

我正在努力寻找解决方案,我在谷歌搜索解决方案,但无法找到解决问题的任何好答案。

有谁知道,如何在mysqlworkbench中解决这个问题?

16 个答案:

答案 0 :(得分:84)

转到编辑 - 首选项 - 管理员 - Mysqldumptool的路径:(在MySQL服务器安装文件夹中查找文件mysqldump.exe(可能是:mysql / bin /)然后单击它然后确定),之后尝试执行备份。

答案 1 :(得分:20)

幸运的是,虽然不是很明显,但有一个相当直接的解决方案。您只需要更新mysqldump.exe即可。可以找到.exe文件的最新版本。要解决此问题,请转到Edit->Preferences->Administrator,然后浏览以下路径

C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe

抓取此文件并将其替换为Path to mysqldump tool文本框

在上面提到之前可能会设置以下路径,所以只需将其替换为较新的路径

C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\mysqldump.exe

您的路径可能略有不同,但解决方案保持不变。 在某些操作系统(64位)中,有两个文件夹     C:\Program Files (x86)\MySQL 和     C:\Program Files\MySQL 但是你必须去C:\Program Files\MySQL 希望它会有所帮助:)

答案 2 :(得分:3)

消息说你需要一个更新的mysqldump工具。与您要转储的服务器匹配的一个。因此,根据您运行的平台,从具有最新版本的服务器安装中获取mysqldump工具的副本。每个服务器都带有一个mysqldump工具。因此,获取副本应该很容易。

将工具放在具有持久主页的位置,但不与其他实例冲突,并将MySQL Workbench指向它(如消息所示)。

答案 3 :(得分:3)

在基于Linux的Ubuntu中,编辑>偏好...>管理(选项卡),将“mydqldump工具的路径”设置为 / usr / bin / mysqldump (很可能默认情况下就是它所假设的位置)。

如果您不确定,可以尝试通过在终端中运行以下命令来查找mysqldump的位置:

locate mysqldump

答案 4 :(得分:1)

在我的Mac上,(运行最新的Mac OS Sierra),我将mysqldump的路径更改为/ Applications / XAMPP / xamppfiles / bin / mysqldump,这解决了问题。以前,路径设置为mysqldump的不同版本(旧版本)。所以,你需要获得最新版本的mysqldump。

答案 5 :(得分:1)

由于这些答案对于Mac用户来说还不是很清楚,因此我在这里找到了MySQLDump文件:

应用程序> MAMP>库> bin> mysqldump

快速搜索'mysqldump'应该找到它。 我遵循了以上答案,然后转到:

首选项>管理> mysqldump工具的路径:

这是我现在的路径:/ Applications / MAMP / Library / bin / mysqldump

答案 6 :(得分:1)

我正在尝试使用Edit > Preferences... > Administration (tab)并使用/usr/bin/mysqldump进行默认的mysqldump来解决此问题。

我看到XAMPP服务器也有一个mysqldump文件,它运行良好!通常,您可以在/opt/lampp/bin/mysqldump中找到它(对于Debian和类似版本),因此可以在工作台中的首选项中使用此路径。

答案 7 :(得分:0)

wb_admin_export.py(由mysqldump使用)查看 PATH 变量以查找mysqldump并获取版本号。确保它的mysqldump来自mysql bundle,而不是mysql workbench ...

答案 8 :(得分:0)

当mysql工作台的版本不同于mysql服务器的版本时,会发生这种情况。解决方案是使用具有与服务器相同版本的mysqldump.exe进行导出/转储。 步骤:

  1. 下载与服务器相同版本的mysql zip。 (例如mysql-5.7.25-winx64.zip)
  2. 在此zip文件中,您将在bin文件夹下找到mysqldump.exe。
  3. 打开Mysql工作台。转到编辑->首选项->管理。
  4. 现在,在mysqldump Tool路径:中,提供此下载的mysqldump.exe的路径

答案 9 :(得分:0)

Mac用户在这里:更新MySQLWorkbench后出现此问题。尝试了所有...。最后,我下载了旧版本并降级了MySQLWorkbench。完美地工作。

答案 10 :(得分:0)

我确实从这里https://downloads.mysql.com/archives/community/取得了需要的mysql版本的档案文件

并从那里使用mysqldump。这对我有帮助。

答案 11 :(得分:0)

对于Mac用户,只有在设置(编辑-首选项-管理员)中设置Mysqldumptool的路径后,重新启动Mysql Workbench之后,它才起作用。

答案 12 :(得分:0)

这里没有其他答案对我有用,所以我将发布另一种解决我的问题的方法(我正在使用Windows WSL Ubuntu 18.04)。

TL; DR :检查MySQL的配置文件中是否有行local_infile=1,并将其更改为loose-local-infile=1,如果没有,则将其完全注释掉现在不需要它,然后重新启动MySQL Workbench。

进一步的说明:我关闭MySQL Workbench并打开终端并运行mysqldump --version,它给了我这个错误:mysqldump: [ERROR] unknown variable 'local_infile=1'.,我意识到我已经添加了一些东西到先前的/etc/my.cnf文件,以便使用本地文件将某些数据导入数据库,但是as it turns out的其他一些MySQL工具(例如mysqldump,可能)对此行不太了解,所以我对其进行注释,然后mysqldump --version可以正常工作,并给出正确的版本号,而没有任何其他问题。现在,我再次打开MySQL Workbench,这次它运行良好。

HTH。

答案 13 :(得分:0)

如果以上解决方案均无效,则可以在wb_admin_export.py中将mysqldump的版本硬编码

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)

这仅对我有用:Windows上的工作台和远程Linux上的Mysql服务器。

答案 14 :(得分:0)

我必须对远程数据库进行本地复制,并且面临MySQLWorkbench的版本问题。为了避免重新安装MySQLWorkbench以适应远程数据库版本,我接下来做了:

  1. 我使用ssh将数据库从远程服务器导出到/ home / my-user /文件夹(在远程服务器上):

    root @ bananapi# mysqldump -u root -p my-incredible-password> /home/my-user/database-dump-18-set-2020.sql

  2. 在/ home / my-user /远程目录中具有sql脚本,我使用scp命令将其下载到本地文件夹中:

    我的用户% scp root @ remote-server-ip-address:/home/my-user/database-dump-18-set-2020.sql / Users / my-mac-user / tmp /

我只需要使用MySQLWorkbench打开sql脚本文件,然后将数据导入本地数据库中即可。我希望这可以对某人有所帮助。

答案 15 :(得分:0)

对我有用的解决方案如下:

  1. 进入页面https://www.pconlife.com/viewfileinfo/mysqldump-exe/ 有一个 mysqldump.exe 文件列表,它们必须下载与错误中出现的版本匹配的版本。

  2. 然后去通常安装mysql的文件夹 C:\Program Files\MySQL\MySQL Workbench 8.0 CE 他们把下载的文件放在那里,然后替换。

  3. 现在打开 MySQL 他们会改变出现在的路径: 首选项> 管理> mysqldump 工具的路径: 通过替换文件所在的地址

就这些