• Mysql开启GTID后遇到错误跳过方法


    处理方法如下:

    一:跳过错误

      这个GTID_NEXT的4,是在master 上正常执行的最大id + 1,即Executed_Gtid_Set里面master uuid执行过的最大值 3+ 1

    STOP SLAVE ; #首先停止gtid复制
    SET @@SESSION.GTID_NEXT= '8f9e146f-0a18-11e7-810a-0050568833c8:4' ; 设置当前下一个执行的事务Id
    BEGIN; COMMIT; # 设置空事务,直接提交
    SET @@session.gtid_next=automatic;; #恢复下一个事务号 
    START SLAVE; # 继续开启事务

    二,重置master跳过错误

    手工调整SLAVE已清除的GTID列表GTID_PURGED,人为通知SLAVE哪些事务已经被清除了,后续可以忽略:

    STOP SLAVE;
    RESET MASTER;
    SET @@GLOBAL.GTID_PURGED = '00018601-1111-1111-1111-111111111123:1-2031';
    START SLAVE;
    #在slave 运行时刻 reset master 命令不被支持
    #在GTID环境中,RESET MASTER会清除掉系统变量gtid_purged和gtid_executed的值

    上面 gtid_next 的值 00018601-1111-1111-1111-111111111123:2030是个会话级变量。

    • uuid是 Retrieved_Gtid_Set 的uuid,一般是 Master_UUID 的值,但如果是级联复制(master -> slavel1 -> slave2),那么要找到出错事务最原先在哪执行的
    • trx_id(或叫position)是 master 上正常执行的最大id + 1,即Executed_Gtid_Set里面master uuid执行过的最大值 2030+ 1
  • 相关阅读:
    简明Vim练级攻略
    linux之cat命令
    linux之cat,more,less,head,tail
    linux之touch命令修改文件的时间戳
    linux 之创建文件命令
    python开发_function annotations
    python开发_python中的range()函数
    python开发_python中的module
    python开发_python中的函数定义
    python开发_python关键字
  • 原文地址:https://www.cnblogs.com/zping/p/10906569.html
Copyright © 2020-2023  润新知