如何在MySQL Workbench中将--set-gtid-purged = OFF设置为默认的导出参数?

9
最近我一直在使用Mysql Workbench,其中导出功能有一个让我很不爽的小问题(当然是对我而言)。GUI中设置gtid清除功能默认为自动,似乎每次你想要在没有该参数的情况下导出时,都需要在数据导出-高级选项中将其更改为OFF。更糟糕的是,该设置不会被记住。
想知道是否有人找到了一种方法来永久地将其设置为OFF,适用于我进行的每个DB/连接?
我甚至检查了wb_options.xml文件,该功能已设置为OFF,但由于某种原因似乎无法停止它。
<value type="string" key="wb.admin.export.option:set-gtid-purged">OFF</value>

感谢您的请求。

类似的问题...我经历了这个故障排除过程,认为我有一个不支持set-gtid-purged的旧版MySQL服务器,因为它一直抛出错误。后来发现我已经配置了MySQL Workbench使用mysql二进制文件作为mysqldump,所以当然会出错。 - Matthew Poer
4个回答

9
我希望能够在AWS RDS中做到您所需的功能。对于您的情况,您需要执行以下操作:

解决方案

  1. 更新配置文件 更新/etc/my.cnf并添加

    [mysqldump] set-gtid-purged=OFF

  2. 无需重启。如果您无法访问该.cnf文件,则可以使用以下指令更新update directadmin.conf:

    extra_mysqldump_options=--set-gtid-purged=OFF

  3. 可以在shell中运行以下命令以实现第2点:

    echo "extra_mysqldump_options=--set-gtid-purged=OFF" >> /usr/local/directadmin/conf/directadmin.conf service directadmin restart

官方和有用的参考资料

MySQL Dump

MySQL启用/禁用GTID(全局事务标识符)

MySQL在DUMP期间的额外选项


9
我已经在Linux/Ubuntu上找到了一个临时解决方案:
  1. 打开 /usr/lib/mysql-workbench/modules/wb_admin_export.py
  2. 查找 "--set-gtid-purged=OFF"
  3. 删除或注释掉该行 (#),以及它上面的 if 语句。
  4. 重新启动 MySQL Workbench
如果您使用的是Windows,文件路径可能会有所不同。如果有人能告诉我路径,我将更新我的答案。

3
Mac 文件位置为 /Applications/MySQLWorkbench.app/Contents/Resources/plugins/wb_admin_export.py,代码行号为 1861 和 1862。 - Matthew Poer
在我的情况下,我只注释了第1883行(MySQL Workbench 8.0.13) #if self._compatibility_params: - André DLC

7
在运行Mysql 5.7的Mac上,我发现以下方法可行:
在Workbench中选择:
服务器->数据导出->高级选项
将“set-gtid-purged - 将'SET @@GLOBAL.GTID_PURGED'添加到输出。”从AUTO更改为OFF。
然后导出您的数据。
导出的SQL文件不再应包含以下行:
"SET @@SESSION.SQL_LOG_BIN=0;"
现在可以成功导入。

0
如果您在Ubuntu服务器上仅使用mysqldump,请尝试将以下内容添加到/etc/mysql/conf.d/mysqldump.cnf文件中。
set-gtid-purged=OFF
column-statistics=0

五月可能是这样的:

mysqldump.cnf setting for set-gtid-purged=OFF and column-statistics=0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接