MySQL Workbench 6.3.6 CE版导出 5.5.52 MariaDB报错

报错:mysqldump: unknown variable ‘set-gtid-purged=OFF’

完整出错如下:

1
2
3
4
5
6
7
8
9
10
11
12
11:45:51 AM Dumping xxx_logview (gef_infos)
Running: mysqldump --defaults-file="/tmp/tmpePBoof/extraparams.cnf" --set-gtid-purged=OFF --user=root --host=119.23.xxx.xxx --protocol=tcp --port=3306 --default-character-set=utf8 --no-data --skip-triggers "xxx_logview" "gef_infos"
mysqldump: unknown variable 'set-gtid-purged=OFF'

Operation failed with exitcode 7
11:45:51 AM Dumping xxx_logview (gef_users)
Running: mysqldump --defaults-file="/tmp/tmpbh7vOY/extraparams.cnf" --set-gtid-purged=OFF --user=root --host=119.23.xxx.xxx --protocol=tcp --port=3306 --default-character-set=utf8 --no-data --skip-triggers "xxx_logview" "gef_users"
mysqldump: unknown variable 'set-gtid-purged=OFF'

Operation failed with exitcode 7
11:45:51 AM Export of /home/xxx/dumps/Dump20170422-1 has finished with 2 errors

出错很明显是mysqldump 不支持这个set-gtid-purged。我用的是MairaDB自带的mysqldump工具,版本如下。可能移除了这个特性。

mysqldump Ver 10.15 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64)

而MySQL Workbench在export data的时候,默认是加上–set-gtid-purged=OFF参数的。

所以,我能想到的方法如下:

  1. 理论上去掉它这个默认设置就可以了。但是很遗憾,我不知道workbench在哪里改这参数。。。找了半天。

  2. 安装一个MySQL数据库,然后在MySQL Workbench -> Edit -> Perferences -> Administration -> Path to mysqldump 指定你MySQL版本数据带的mysqldump工具的路径。

  3. 用其它数据库管理工具,比如我,最后用了DBeaver CE 算是Linux下一个很万能的数据库管理工具了。大部分场景下,和Navicat有得拼。关键还是免费!

关注公众号 尹安灿