问:如何在 Mysql workbench 中将 --set-gtid-purged=OFF 设​​置为默认导出参数?

Q: How to set --set-gtid-purged=OFF as a default Export parameter in Mysql workbench?

我最近一直在玩 Mysql Workbench 并且导出功能有一个不需要的烦人功能(当然是我不需要)。 set-gtid-purged 功能在 GUI 中默认设置为 AUTO,似乎每次您想要导出时不使用此参数 - 您必须在数据导出 - 高级选项中将其更改为 OFF。更糟的是 - 设置不会被记住。

想看看是否有人找到了一种方法,可以为我制作的每个 DB/conenction 永久设置它?

我什至检查了 wb_options.xml 文件,该功能已设置为关闭,但由于某种原因这似乎并没有阻止它。

<value type="string" key="wb.admin.export.option:set-gtid-purged">OFF</value>

谢谢。

我在 Linux/Ubuntu

上找到了一个临时解决方案
  1. 打开/usr/lib/mysql-workbench/modules/wb_admin_export.py
  2. 搜索“--set-gtid-purged=OFF”
  3. 删除或注释该行 (#) 及其上方的 if 语句。
  4. 重启MySQLWorkbench

使用windows,文件的路径会有所不同,如果有人可以给我,我会更新我的答案。

我想做的正是您要找的,但在 AWS RDS 中。所以对于你的情况,你必须做的是:

解决方案

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

    [mysqldump] set-gtid-purged=OFF

  2. 无需重启。如果您无权访问该 .cnf 文件,请使用以下说明更新 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 服务 directadmin 重新启动

官方有用的参考资料

MySQL Dump

MySQL enable/disable GTID (Global Transaction Ids)

MySQL extra options during DUMP

如果您在 Ubuntu 服务器中仅使用 mysqldump

尝试将其附加到 etc/mysql/conf.d/mysqldump.cnf

set-gtid-purged=OFF
column-statistics=0

可能看起来像这样:

在 Mac、运行 Mysql 5.7 上,我发现以下内容有效:

在Workbench, select:

服务器 -> 数据导出 -> 高级选项

更改“set-gtid-purged - 将 'SET @@GLOBAL.GTID_PURGED' 添加到输出。”从 AUTO 到 OFF

然后导出您的数据。

导出的 SQL 文件不应再包含以下行:

"设置@@SESSION.SQL_LOG_BIN= 0;"

现在导入成功了