74

当我尝试通过 MySQL Workbench 从本地服务器远程导出我的数据库时,

我收到一些低于版本的错误:

mysqldump Version Mismatch [内容] mysqldump.exe 是5.5.16 版本,但是要转储的MySQL Server 有5.6.10-log 版本。因为mysqldump的版本比服务器旧,有些功能可能无法正常备份。建议您升级本地 MySQL 客户端程序,包括 mysqldump 到等于或高于目标服务器的版本。然后必须在 Preferences -> Administrator -> Path to mysqldump Tool 中设置转储工具的路径

我正在尝试找到解决方案 - 我在谷歌上搜索了解决方案,但找不到解决问题的好答案。

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

4

16 回答 16

136

转到:Edit-> Preferences-> Administrator-> Path to Mysqldumptool:在您的 MySQL 服务器安装文件夹中
查找mysqldump.exe文件(可能是:)mysql/bin/。然后单击它,然后OK。之后尝试进行备份。

于 2013-03-28T20:01:46.033 回答
36

幸运的是,虽然不是很明显,但有一个相当简单的解决方案。您只需要更新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)\MySQLC:\Program Files\MySQL 但你必须去找C:\Program Files\MySQL 希望它会有所帮助:)

于 2014-08-18T14:06:23.460 回答
5

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

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

locate mysqldump
于 2017-12-11T12:56:20.490 回答
3

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

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

于 2013-03-27T07:50:54.377 回答
3

我试图使用默认的 mysqldump 来解决这个问题Edit > Preferences... > Administration (tab),并且设置 from /usr/bin/mysqldumpwhich 不起作用。

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

于 2018-10-29T23:20:19.733 回答
2

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

于 2016-11-01T13:55:46.960 回答
2

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

  1. 下载与您的服务器相同版本的 mysql zip。(例如 mysql-5.7.25-winx64.zip)
  2. 在这个 zip 中,您会在 bin 文件夹下找到 mysqldump.exe。
  3. 打开 Mysql 工作台。转到编辑 -> 首选项 -> 管理。
  4. 现在,在 mysqldump 工具的路径中:,给出这个下载的 mysqldump.exe 的路径
于 2019-03-04T10:10:18.943 回答
2

我确实从这里https://downloads.mysql.com/archives/community/为需要的 mysql 版本存档了

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

于 2019-10-29T14:51:24.023 回答
1

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

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

快速搜索“mysqldump”应该可以找到它。我遵循上述答案并转到:

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

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

于 2018-10-25T19:31:49.347 回答
1

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

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

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

  3. 现在打开 MySQL,他们将更改出现在的路径:Preferences> Administration> Path to mysqldump tool:通过替换文件所在的地址

就这样

于 2021-07-16T19:59:44.327 回答
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 上的 Workbench 和远程 linux 上的 Mysql 服务器。

于 2020-06-19T11:18:25.733 回答
0

对于 Mac 用户,它只有在重新启动 Mysql Workbench 后才能工作,在设置中将 Path 设置为 Mysqldumptool (编辑 - 首选项 - 管理员)。

于 2020-04-21T05:05:42.750 回答
0

Mac 用户在这里:我在更新 MySQLWorkbench 后遇到了这个问题。尝试了一切......最后,我下载了旧版本并降级了MySQLWorkbench。完美地工作。

于 2019-03-23T08:47:02.723 回答
0

我必须制作远程数据库的本地副本,并且面临 MySQLWorkbench 的版本问题。为了避免重新安装MySQLWorkbench以适应远程数据库版本,我做了next:

  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 命令将其下载到本地文件夹中:

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

我只需要使用我的 MySQLWorkbench 打开 sql 脚本文件并将数据导入本地数据库。我希望这可以帮助某人。

于 2020-09-18T11:00:36.447 回答
0

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

于 2017-07-17T10:15:17.977 回答
0

这里没有其他答案对我有用,所以我将发布另一种修复我的方法(我使用的是 Windows WSL Ubuntu 18.04)。

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

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

HTH。

于 2020-06-02T20:32:26.643 回答