71

我有一个 mysql 服务器,我用 MySQL Workbench 远程管理。

现在我有一台新计算机,但我找不到任何解决方案将我的连接和实例配置文件移动到我的新计算机。这不可能是一个未解决的问题,对吧?这不是第一次发生在别人身上。

更正:这不是我要移动的服务器实例。我需要在 MySQL Workbench 中导出/移动/备份我的许多客户端配置文件/实例连接。

4

11 回答 11

129

您不需要像其他答案所建议的那样手动复制任何文件。在 Windows 和 Mac 上,您可以导出 MySQL Workbench 中的所有设置并恢复到另一个系统。

Select Tools > Configuration > Backup Connections

这将导出为 .zip。然后在你的新安装上

Select Tools > Configuration > Restore Connections

Linux MySQL Workbench 备份/恢复连接

就是这样!

于 2014-09-04T11:35:15.697 回答
54

我也有同样的问题。我在 %APPDATA% 中找到了一个 MySQL 目录。将整个目录复制到新机器上的相同位置。您需要清除密码并重新输入。一旦我这样做了,我就重新启动并运行了。

您可以通过在 Windows 资源管理器的地址栏中输入来在 Windows 中找到您的 %APPDATA% 文件夹。

于 2011-05-17T18:28:38.450 回答
15

在 /Users/Username/Library/Application Support/MySQL/Workbench/ 的 mac 上找到它

名为connections.xml的文件

于 2013-02-27T18:28:06.163 回答
11

使用菜单工具 > 配置 > 备份连接工具 > 配置 > 恢复连接来备份和恢复连接是最简单的方法,但它不会复制密码。

在以下情况下可以提取密码:

  1. 旧 PC应该是 Windows 安装。
  2. 您应该能够使用最初在 Workbench 中保存密码的 Windows 帐户登录,即无需管理员重置 Windows 帐户的密码。

如果满足上述要求,可以登录旧PC并运行http://www.donationcoder.com/forum/index.php?topic=41860.msg391762#msg391762上的解密工具

解密的 C++ 代码如下所示(来源:f0dder)

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
        DATA_BLOB inblob { length, input };
        DATA_BLOB outblob;

        if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
                throw std::runtime_error("Couldn't decrypt");
        }

        std::vector<unsigned char> output(length);
        memcpy(&output[0], outblob.pbData, outblob.cbData);

        return output;
}
于 2017-10-31T15:20:27.053 回答
8

在 Linux (Ubuntu) 中,位置更改为$HOME/.mysql/workbench

在 Ubuntu 14.04 LTS 上测试。

于 2014-05-20T12:08:48.990 回答
7

在替换 connection.xml 之前,请确保先关闭 Workbench 应用程序,否则应用程序将在退出时覆盖/保存 xml 文件。

于 2013-08-07T06:18:27.220 回答
4

只需复制它们!

在 Linux 中,它们位于$HOME/.mysqlgui/

于 2010-12-15T14:26:19.130 回答
0

我在路径 C:\Users\.sqlworkbench\WbProfiles.xml 中找到了文件“WbProfiles.xml”

在新机器的相同路径下复制文件或复制完整的“.sqlworkbench”文件夹。

于 2017-08-22T07:27:53.400 回答
0

如果要在 Windows 中使用 Python 恢复“workbench_user_data.dat”文件中加密的密码,可以使用以下代码段。

import os,win32crypt
encrypted_data = open(f"C:\\Users\\{os.getlogin()}\\AppData\\Roaming\\MySQL\\Workbench\\workbench_user_data.dat", "rb").read()
clear_data = win32crypt.CryptUnprotectData(encrypted_data, None, None, None, 0)
print(clear_data)
于 2021-10-08T11:46:21.070 回答
0

遗憾的是,在最新版本的 MySQL Workbench(Windows 中至少为 8.0.25、8.0.27)上,.zip 文件格式的备份和恢复不起作用。

有关详细信息和解决方法,请参见此处: https ://bugs.mysql.com/bug.php?id=102501

于 2021-10-26T22:03:05.763 回答
0

此错误的备份解决方法:

  • 复制这两个文件:connections.xml 和 server_instances.xml
  • 这些文件的位置(在 Windows 中)是:C:\Users<user>\AppData\Roaming\MySQL\Workbench(替换为您自己的 Windows 用户名)

恢复:将上述 2 个文件复制到目标安装上的相同位置。

警告:我不知道连接的密码“保险库”保存在哪里,因此您可能需要重新输入这些密码,但连接和服务器列表会保留。

奖励:要恢复您的工作区(所有打开的 .sql 选项卡等),您还可以复制“workbench”目录下的“sql_workspaces”目录,它也会恢复这些!

于 2021-10-26T22:04:26.587 回答