vlambda博客
学习文章列表

详解生产环境mysql数据库如何配置并开启GTID主从复制模式

详解生产环境mysql数据库如何配置并开启GTID主从复制模式

概述

今天主要介绍一下生产环境mysql数据库如何去开启GTID这个特性,下面一起来看看吧~


1、GTID基础配置

//在主库上的配置文件中添加:
#GTID:
server_id=1 #服务器id
gtid_mode=on #开启gtid模式
enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持
log_bin=master-binlog #开启日志
binlog_format=row
//以上是GTID的基础配置,必须存在,其他配置可以根据需要自行设置

//在从库上的配置:
#GTID:
server_id=5 #从库id,比主库的大
gtid_mode=on #开启gtid模式
enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持
log_bin=slave-binlog #开启日志
binlog_format=row

2、生产环境第一次启用GTID的主从

这个没啥好讲的,所以就把关键的三个步骤写一下了。。

2.1、主库授权

  GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY "repl@1234";

2.2、从库开启GTID

CHANGE MASTER TO MASTER_HOST='xx.xx',MASTER_USER='repl',MASTER_PASSWORD='repl@1234',MASTER_AUTO_POSITION=1;
start slave;

2.3、验证GTID

 show slave status \G    #正常可以看到复制工作已经开始

3、生产环境从主从复制模式转为GTID复制

目的:将传统的主从复制改到GTID主从复制模式。

3.1、停应用、备份数据库及配置文件

这里用xtrabackup做一个备份,80G耗时4分钟。

cp my.cnf my.cnf_bak200604

详解生产环境mysql数据库如何配置并开启GTID主从复制模式


3.2、配置参数文件

1)主库配置

#主库二进制配置
server-id = 1
log-bin = /tmsdata/log/mysql-bin.log
log-bin-index =/tmsdata/log/binlog.index
log_bin_trust_function_creators=1
expire_logs_days=7
#GTID配置
gtid_mode=on #开启gtid模式
enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持
binlog_format=row
skip_slave_start=1 #slave库打开后会稍后同步数据,等待change master to执行后才同步数据,建议开启,避免slave开启后数据不同步

#事务隔离级别
transaction-isolation=READ-COMMITTED

2)从库配置

#从数据库二进制配置
server-id = 2
log-bin = /tmsdata/log/mysql-bin.log
log-bin-index =/tmsdata/log/binlog.index
log_bin_trust_function_creators=1
expire_logs_days=7
#GTID配置
gtid_mode=on #开启gtid模式
enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持
binlog_format=row
skip_slave_start=1 #slave库打开后会稍后同步数据,等待change master to执行后才同步数据,建议开启,避免slave开启后数据不同步
#事务隔离级别
transaction-isolation=READ-COMMITTED

3.3、主从库器设置global.read_only参数,等待主从服务器同步完毕

SET @@global.read_only = ON;
show slave status \G SET @@global.read_only = ON; show slave status \G

详解生产环境mysql数据库如何配置并开启GTID主从复制模式


3.4、依次重启主从数据库

 systemctl restart mysqld

3.5、从库更新主从配置

stop slave;
CHANGE MASTER TO MASTER_HOST='xx.xx.94',MASTER_USER='repl',MASTER_PASSWORD='repl@1234',MASTER_AUTO_POSITION=1;
START SLAVE;

3.6、检查GTID主从复制

SET @@global.read_only = OFF;
show slave status \G

详解生产环境mysql数据库如何配置并开启GTID主从复制模式


详解生产环境mysql数据库如何配置并开启GTID主从复制模式


3.7、再次备份

因为之前的备份是没有GTID的,现在数据开启GTID后,原备份就不适用了。

详解生产环境mysql数据库如何配置并开启GTID主从复制模式

详解生产环境mysql数据库如何配置并开启GTID主从复制模式

最新开班信息

周末班:

OCP认证开班时间:7月初  周六班

OCM认证开班时间:7月初   周六班

Python数据分析:6月底 周日班

暑期实训班:

Linux+Oracle云计算运维工程师   脱产班

Python全栈(数据分析+自动化测试) 脱产班

7月中下旬开班(脱产)

授课形式:面授 

课时:3个月

报名咨询:48710363 1695867545(QQ)