首页 > 其他分享 >​GTID复制模式保错

​GTID复制模式保错

时间:2023-07-13 17:57:46浏览次数:32  
标签:Executed Set 79 11ee 保错 复制 Gtid 52540017cf67 GTID

环境

主库:192.168.1.144:5543
从库:192.168.1.144:5544

概念

gtid_executed等价Executed_Gtid_Set参数,已经执行的gtid集合(gtid-sets)。
gtid_purged,已经清除的gtid集合。
Retrieved_Gtid_Set:从库已经接收到主库的事务编号(从库的IO线程已经接受到了)
Executed_Gtid_Set:已经执行的事务编号(从库的执行sql线程已经执行了的sql)

主库uuid:

 MySQL  localhost:5543 ssl  SQL > show variables like '%uuid%';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | a6b40c9b-197d-11ee-ae87-52540017cf67 |
+---------------+--------------------------------------+
1 row in set (0.0102 sec)

从库uuid:

 MySQL  localhost:5544 ssl  SQL > show variables like '%uuid';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | 43cd27b1-197e-11ee-b2dc-52540017cf67 |
+---------------+--------------------------------------+
1 row in set (0.0153 sec)

主从状态:

在从库上使用SHOW REPLICA STATUS 看到如下结果:

 MySQL  localhost:5544 ssl  SQL > SHOW REPLICA STATUS \G;
*************************** 1. row ***************************
             Replica_IO_State: Waiting for source to send event
                  Source_Host: 127.0.0.1
                  Source_User: mysql_innodb_rs_1050515673
                  Source_Port: 5543
                Connect_Retry: 60
              Source_Log_File: localhost-bin.000002
          Read_Source_Log_Pos: 45804
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 7626
        Relay_Source_Log_File: localhost-bin.000002
           Replica_IO_Running: Yes
          Replica_SQL_Running: Yes
						......
           Source_SSL_Crlpath: 
           Retrieved_Gtid_Set: a6b40c9b-197d-11ee-ae87-52540017cf67:66-79
            Executed_Gtid_Set: 43cd27b1-197e-11ee-b2dc-52540017cf67:1-3,
a6b40c9b-197d-11ee-ae87-52540017cf67:1-79
                Auto_Position: 1
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Source_TLS_Version: 
       Source_public_key_path: 
        Get_Source_public_key: 1
            Network_Namespace: 
1 row in set (0.0026 sec)

复制状态是双Yes,但是可以看到Executed_Gtid_Set的值有2个,Retrieved_Gtid_Set值有一个。
再来主库通过show master status查看主库上的Executed_Gtid_Set,

 MySQL  localhost:5543 ssl  SQL > show master status\G
*************************** 1. row ***************************
             File: localhost-bin.000002
         Position: 45804
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: a6b40c9b-197d-11ee-ae87-52540017cf67:1-79

其中主库的Executed_Gtid_Set为:a6b40c9b-197d-11ee-ae87-52540017cf67:1-79

分析

1、可以看见主库产生了79个事务,从库接收了79个事务,并且已经执行;
2、已执行的事务Executed_Gtid_Set: 43cd27b1-197e-11ee-b2dc-52540017cf67:1-3,
	a6b40c9b-197d-11ee-ae87-52540017cf67:1-79 中,a6b40c9b-197d-11ee-ae87-52540017cf67:1-79是执行主库1-79的事务,
	43cd27b1-197e-11ee-b2dc-52540017cf67:1-3是从库自己写入的数据。

解决方法

第一步、stop replica;
并记录对应的Executed_Gtid_Set值:a6b40c9b-197d-11ee-ae87-52540017cf67:1-79

第二步、show master status\G
查看对应Executed_Gtid_Set值是否和上面保持一致,一般情况下是一致的。

第三步:reset master;
重置从库上的binlog,该操作会清空从库上的mysql.gtid_executed表中的内容

第四步:set global gtid_purged='a6b40c9b-197d-11ee-ae87-52540017cf67:1-79';
重置从库的gtid_purged的值

第五步:start replica; 重启复制关系

第六步:show replica status\G   查看最终结果
				Retrieved_Gtid_Set: a6b40c9b-197d-11ee-ae87-52540017cf67:66-79
            	Executed_Gtid_Set: a6b40c9b-197d-11ee-ae87-52540017cf67:1-79
                Auto_Position: 1

标签:Executed,Set,79,11ee,保错,复制,Gtid,52540017cf67,GTID
From: https://www.cnblogs.com/sddll/p/17551675.html

相关文章

  • Python Web:创建、删除、复制、移动文件及目录命令Python Web篇学习汇总:
    1.创建、删除文件及目录命令的使用命令说明touch文件名创建指定文件mkdir目录名创建目录(文件夹)rm文件名或者目录名删除指定文件或者目录rmdir目录名删除空目录touch命令效果图:mkdir命令效果图:rm命令效果图:rm删除目录效果图 说明:rm命令想要删除目录需要加上-r选项,-r表示......
  • Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRange
    http://c.biancheng.net/view/924.html所谓复制数组,是指将一个数组中的元素在另一个数组中进行复制。本文主要介绍关于 Java 里面的数组复制(拷贝)的几种方式和用法。在Java中实现数组复制分别有以下4种方法:Arrays类的copyOf()方法Arrays类的copyOfRange()方法Syst......
  • redis学习十九:redis复制
    定义:主从复制,master以写为主,slave以读为主当master数据变化的时候,自动将新的数据异步同步到其他slave数据库作用:1.读写分离2.容灾备份3.数据备份4.水平扩容支撑高并发如何实现:配从库不配主库权限细节:master如果配置了requirepass参数,需要密码登录那么slave就需要配置ma......
  • Linux | 如何复制文件夹到另一个文件夹
    linux系统使用cp命令即可将一个文件夹里面的文件复制到另外一个文件夹里面。这个命令相当于dos下面的copy命令,具体用法是:cp-r源文件目的文件,其中参数r是指连同源文件中的子目录一同拷贝。在linux系统中复制文件我们可以使用cp或copy命令了,我们要复制文件或目录都可以使用它们......
  • word图文混排复制到KindEditor图片不显示
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • 解除网站内容无法复制
    有些网站在没有登录时无法复制其中的关键内容。之前网上有方法说输入命令后可以复制,貌似现在没有用了。解禁办法:......
  • mysql - docker主从复制
    1、docker拉取镜像dockerpullmysql:8.0 2、查看dockerimages 3、创建容器主:dockerrun-p3309:3306--namemaster-eMYSQL_ROOT_PASSWORD=123456--restart=always-dmysql:8.0 从:dockerrun-p3310:3306--namesalve-eMYSQL_ROOT_PASSWORD=123456--res......
  • 【JavaScript】js 处理复制函数实现
    consthandleCopy=()=>{if(!keywordList.value.length)returnElMessage.warning('没有数据');consttext=JSON.stringify(keywordList.value);constinput=document.createElement('input');input.setAttribute('readonly......
  • 1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替
    ArchlinuxGCC13.1.1 202304292023-07-1020:47:50星期一点击查看代码#include<stdio.h>intmain(){intc_in,last_in;c_in=0;last_in='a';while((c_in=getchar())!=EOF){if(c_in!=''){......
  • Tita 升级|任务复制功能上线
    1.  支持在计划表列表快速复制任务Tita-OKR和新绩效一体化管理平台使用场景:新发起的任务和之前任务的内容基本一致,重新填写一遍需要花费很多时间 ......