续:MySQL的gtid模式

devtools/2024/11/12 6:48:34/

为什么要启用gtid?

master端和slave端有延迟

 

##设置gtid

master  slave1  slave2

[root@mysql1 ~]# vim /etc/my.cnf
[root@mysql1 ~]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id=1
slow_query_log=on
gtid_mode=on
enforce-gtid-consistency=on
[root@mysql1 ~]# /etc/init.d/mysqld restart
Shutting down MySQL........ SUCCESS! 
Starting MySQL........... SUCCESS! 
 

[root@mysql3 ~]# vim /etc/my.cnf
[root@mysql3 ~]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
server_id=3
gtid_mode=on
enforce-gtid-consistency=on
[root@mysql3 ~]# systemctl restart mysqld
Failed to restart mysqld.service: Unit not found.
[root@mysql3 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL..... SUCCESS! 

 

把slave1也重启一下

[root@mysql2 ~]# /etc/init.d/mysqld restart 
Shutting down MySQL... SUCCESS! 
Starting MySQL......... SUCCESS!

#

#看一下master的日志

[root@mysql1 ~]# mysql -uroot -predhat
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql>  exit;
Bye
[root@mysql1 ~]# mysqlbinlog -vv /data/mysql/mysql-bin.000002
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#240827 11:39:36 server id 1  end_log_pos 123 CRC32 0x1aa93b7f     Start: binlog v 4, server v 5.7.44-log created 240827 11:39:36 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
eErNZg8BAAAAdwAAAHsAAAABAAQANS43LjQ0LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAB4Ss1mEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AX87qRo=
'/*!*/;
# at 123
#240827 11:39:36 server id 1  end_log_pos 154 CRC32 0x7a75cfb5     Previous-GTIDs
# [empty]
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;            #说明已经开启了
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

#重新设定slave:

#1. 在所有从slave上关掉slave

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)
#2. 

mysql> change master to 
    -> master_host='172.25.254.6',
    -> master_user='repl',
    -> master_password='redhat',
    -> master_auto_position=1
    -> ;
Query OK, 0 rows affected, 2 warnings (0.03 sec)

mysql> start slave;
Query OK, 0 rows affected (0.08 sec)

mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.25.254.6
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 154  #自动识别到了
               Relay_Log_File: mysql2-relay-bin.000002
                Relay_Log_Pos: 367
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
.....略

#slave2也同上,只不过遇到点问题

[root@mysql3 ~]# mysql -uroot -predhat

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

mysql> change master to
    -> master_host='172.25.254.6',
    -> master_user='repl',
    -> master_password='redhat',
    -> master_auto_position=1
    -> ;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
               Slave_IO_State: Connecting to master
                  Master_Host: 172.25.254.6
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: 
          Read_Master_Log_Pos: 4
               Relay_Log_File: mysql3-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: 
             Slave_IO_Running: Connecting   #出现问题,连不上io
            Slave_SQL_Running: Yes

...略

mysql> exit;
Bye

##解决
[root@mysql3 ~]# ps aux | grep mysqld
root      57157  0.0  0.0 113412  1588 pts/2    S    11:38   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql3.pid
mysql     57322  0.1  9.1 1144772 170096 pts/2  Sl   11:38   0:07 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql3.err --pid-file=/data/mysql/mysql3.pid --socket=/data/mysql/mysql.sock
root      58302  0.0  0.0 112808   968 pts/2    S+   13:18   0:00 grep --color=auto mysqld
[root@mysql3 ~]# kill 57322
[root@mysql3 ~]# ps aux | grep mysqld
root      58309  0.0  0.0 112808   968 pts/2    R+   13:19   0:00 grep --color=auto mysqld
[root@mysql3 ~]# /etc/init.d/mysqld restart 
 ERROR! MySQL server PID file could not be found!
Starting MySQL. SUCCESS! 
[root@mysql3 ~]# mysql -uroot -predhat   

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.25.254.6
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 154
               Relay_Log_File: mysql3-relay-bin.000004
                Relay_Log_Pos: 367
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

...略
gtid就做好了,用全局的id来对日志就行回放


http://www.ppmy.cn/devtools/102456.html

相关文章

免费分享:2021-2100中国多情景逐年干燥度模拟数据(附下载方法)

AI是表征一个地区干湿程度的指标&#xff0c;一般来说&#xff0c;根据AI分类可以概括地把区域分为湿润&#xff08;AI<1&#xff0c;相当于森林&#xff09;、半湿润&#xff08;AI在1-1.5&#xff0c;相当于森林草原&#xff09;、半干旱&#xff08;AI在1.5-4&#xff0c…

线性代数:如何由AB=E 推出 BA=AB?

最近在二刷线性代数&#xff0c;在看逆矩阵定义的时候发现了这个问题。于是决定写一写&#xff0c;给出一种证明方式。 一、由逆矩阵的定义出发 这是我在mooc-山东大学-线性代数&#xff08;秦静老师&#xff09;第一章第十讲的ppt上截取的定义。 看到这个定义我就在想&#xf…

QT opencv(显示图片和视频)

文章目录 前言一、使用opencv显示图片二、QT opencv播放视频VideoCapture 的基本用法1. **创建 VideoCapture 对象**2. **检查是否成功打开**3. **读取视频帧**4. **释放资源** VideoCapture 的常用方法常见用途VideoCapture 打开失败的原因 三、QT opencv打开摄像头 前言 本篇…

基于大数据Hadoop技术对网上商城用户消费分析

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍参考目录相关展示每文一语 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 本研究深入剖析了网络商城中消费者的购买行为&#xff0c;探究…

docker轻松集成延迟队列插件

在大家看这篇博客之前&#xff0c;先请大家去看博主的前一篇博客&#xff1a; Docker化RabbitMQ&#xff1a;轻松实现消息队列的部署与配置-CSDN博客 先安装rabbitmq&#xff0c;再去安装延迟队列。 1.任何目录都可以 cd /usr/local/docker/rabbitmq/ 2.联网下载 2.1rabbit…

3GPP R18 Multi-USIM是怎么回事?(五)

在overview中有提到,UE可以与网络侧协商是否对能力进行临时限制,38.300中的描述如下。 当MUSIM UE需要在 NW B中进行传输或接收时,NW A中处于RRC_CONNECTED状态的MUSIM UE可以将 temp UE capability restriction 或移除某个restriction的perference 告知NW A。 NW A 是 NR,…

设计模式--代理模式

代理模式&#xff08;Proxy Pattern&#xff09;是设计模式中的一种结构型模式&#xff0c;它为其他对象提供一种代理以控制对这个对象的访问。代理模式在不改变目标对象功能的前提下&#xff0c;为目标对象添加额外的处理逻辑或控制&#xff0c;比如权限验证、日志记录、事务处…

[Linux#46][线程->网络] 单例模式 | 饿汉与懒汉 | 自旋锁 |读写锁 | 网络基础 | 书单

目录 1.线程安全 1.1 线程安全的单例模式 1.2 饿汉与懒汉实现方式&#xff1a; 实操 2.锁 3.读者写者问题 实操 4.网络基础 4.1 初始协议 书单&#xff1a; 1.线程安全 STL中的容器和智能指针的线程安全性整理如下&#xff1a;STL容器线程安全性&#xff1a; 状态&…