错误:ERROR 1839 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON.
出现的原因是:
GTID是5.6以后,加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力。
官方给的:A global transaction identifier (GTID) is a unique identifier created and associated with each transaction committed on the server of origin (master).
所以可能是因为在一个数据库里面唯一,但是当导入其他的库就有可能重复。所有会有一个提醒。
可以通过添加--set-gtid-purged=off 或者–gtid-mode=OFF这两个参数设置。
个人认为是在导入库中重新生产GTID,而不用原来的。
解决方法:在导出数据库时添加参数:--set-gtid-purged=off,命令如下:
命令:mysqldump -h ip -p --set-gtid-purged=OFF 数据库名 > /home/数据库.sql
备注:
mysqldump参数之-d -t -T 含义
-d
只生成创建表结构的语句
例子:mysqldump -uroot -p123456 -d lmis md_goods_type > goods_d.sql
-t
只生成插入数据的语句