Advertisement

MySQL报错:ERROR 3546 (HY000): @@GLOBAL.GTID_PURGED cannot be changed: the new value must be a superset

阅读量:

解决方案

今天在set gtid的时候报了下面的错误:

复制代码
    sql>set global gtid_purged="dd3ce11f-30f4-11ea-86b2-42010a8e0014:1-1211761271";
    ERROR 3546 (HY000): @@GLOBAL.GTID_PURGED cannot be changed: the new value must be a superset of the old value
    
    
    bash

其实这个报错很简单,意思就是我们set的值必须得是当前机器上面gtid_purged的子集,及我们手动设置的set应该要小于等于当前机器上面的gtid_purged。
我们自己的机器上面的可以通过下面的sql查看:

复制代码
    [(none)]>show variables like 'gtid%';
    +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|Variable_name|Value|

    +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|gtid_executed|dd3ce11f-30f4-11ea-86b2-42010a8e0014:1-121176111|
|---|---|
|gtid_mode|ON|
|gtid_next|AUTOMATIC|
|gtid_owned||
|gtid_purged|dd3ce11f-30f4-11ea-86b2-42010a8e0014:1-1211761111|

    +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    
    sql
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-12/MINXL8UEQjBomHGck29yfVi5hq30.png)

可以看到我们设置的集合是大于这个的,所以报错。
如何解决,分情况而言。
1.如果是搭建从库的话:
可以先执行一句reset master在进行set就不会报错。
2.如果是修复数据的话:
一定要确定好自己的集合完全包含当前机器的gtid_purged集合的时候再reset master

全部评论 (0)

还没有任何评论哟~