0
点赞
收藏
分享

微信扫一扫

DBeaver复制数据库报错@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLO

玉字璧 2022-04-13 阅读 41

开发和排查问题过程中,经常用到线上数据库,那么就会经常复制数据库。

在复制后执行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实例事务的执行(不会重复执行同一个事务,并且会补全没有执行的事务)。

处理办法

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

相关推荐

0 条评论