网站首页 > 博客文章 正文
概述
今天主要介绍一下生产环境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
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
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
3.7、再次备份
因为之前的备份是没有GTID的,现在数据开启GTID后,原备份就不适用了。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
- 上一篇: 说真的,这个主从延迟你还真处理不了
- 下一篇: 京东二面:MySQL 主备延迟有哪些坑?主备切换策略
猜你喜欢
- 2024-11-23 技术分享 | slave_relay_log_info 表认知的一些展开
- 2024-11-23 京东二面:MySQL 主备延迟有哪些坑?主备切换策略
- 2024-11-23 说真的,这个主从延迟你还真处理不了
- 2024-11-23 主从复制延迟如何解决?
- 2024-11-23 一直搞不清楚什么是读写分离,主从复制的原理,今天总算搞懂了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)