十六、MySQL主从复制GTID

        GTID全称global transaction identifier

原理:

        是在整个复制环境中对一个事物的唯一表示

        全局唯一、一个事物对应一个GTID

优势:再恢复的时候,以前做过事物的不再执行,可以节约时间

实验

项目名称:构建一个简单的MySQL主从复制集群

项目环境:2c/4G的服务器(虚拟机),CentOS Linux release 7.9.2009 (Core)、MySQL5.7.34

项目描述:为了提升MySQL的并发能力构建一个简单的MySQL集群,实现读写分离,大大提高MySQL集群的业务处理能力,同时深入学习MySQL的整体部署和对集群架构的理解。

项目步骤:

1.准备好两台安装好的机器,使用脚本一键部署好二进制的MySQL

2.在master服务器上开启二进制日志和配置

socket=/data/mysql/mysql.sock
log_bin
server_id = 1
auto-increment-offset=1
auto-increment-increment=2
gtid-mode=on
log_slave_updates=on
enforce-gtid-consistency=on
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8

在slave服务器上配置

[mysqld]
socket=/data/mysql/mysql.sock
log_bin
server_id = 2
auto-increment-offset=2
auto-increment-increment=2
gtid-mode=on
log_slave_updates=on
enforce-gtid-consistency=on
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8

3.在master服务器上创建复制二进制的用户并授权

grant replication slave on *.* to 'gtid'@'%' identified by '123456';

4.在master上做一个全备,导出数据,导入到slave上,

保持master和slave上数据的一致

[root@sc-mysql backup]# mysqldump -uroot -p'Sanchuang123#' --all-databases > /backup/all_db.sql

[root@sc-mysql backup]# scp /backup/all_db.sql root@192.168.2.204:/root

[root@slave_mysql ~]# mysql -uroot -p'Sanchuang123#'  < all_db.sql

5.在slave上配置去master拉取二进制日志的用户信息和日志文件的名称和位置号

CHANGE MASTER TO MASTER_HOST='192.168.2.129',

MASTER_USER='gtid',

MASTER_PASSWORD='123456',

MASTER_PORT=3306,

MASTER_AUTO_POSITION = 1;

6.在master和slave上都关闭防火墙和selinux

7.在slave服务器上启动slave服务,查看I/O线程和SQL线程是否正常启动

root@(none) 16:28 mysql>show slave status\G; 查询slave

8.验证主从复制的效果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值