Mysql Workbench导出数据再导入时报错@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLO

wylc123 1年前 ⋅ 372 阅读

在复制后执行sql导入数据库的时候,报错:@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLOBAL.GTID_EXECUTED。

这是mysql5.6及以后的新特性GTID。

GTID即全局事务ID(global transaction identifier),GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增,所以GTID能够保证每个MySQL实例事务的执行(不会重复执行同一个事务,并且会补全没有执行的事务)。

处理办法

重新 dump 数据库, 使用--set-gtid-purged=OFF的参数禁止导出 GTID 信息,再 load 进目标数据库
在目标数据库中执行mysql> reset slave all; mysql> reset master; 清空所有 GTID 信息之后就可以导入了


全部评论: 0

    我有话说: