mysql5.7 基于gtid的主从复制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql5.7 基于gtid的主从复制相关的知识,希望对你有一定的参考价值。
基本环境
版本 5.7.14
主库ip:192.168.1.100 port:3306
从库ip:102.168.1.101 port:3306
搭建注意事项
主库配置
gtid-mode=on
enforce-gtid-consistency=1
binlog_format==row
server-id=3306100
log-bin=/data/mysql/mysql3306/logs/mysql-bin
binlog_cache_size=4M
skip_slave_start=1
从库配置
gtid-mode=on
enforce-gtid-consistency=1
server-id=3306101
binlog_format=row
log-bin=/data/mysql/mysql3306/logs/mysql-bin
skip_slave_start=1
配置完重启一下 使配置文件生效
/etc/init.d/mysqld restart
在主库查看
show global variables like "%server%";
可以查看 server_uuid 号
show master status;
现在是空的,发现没有gtid记录
创建一张表
create table g1;
再次查看
show master status;
可以查看到在 Executed_Gtid_Set 信息
主库备份
mysqldump -uroot -p --single-transaction --master-data=2 -A >backup.sql
该备份文件会包含一条语句需要注意
set @@global.gtid_purged="a57a3eb0-5d40-11e6-9609-080027f7e774:1-3"
传过去之后就从4开始传了
然后将 备份文件传输到从库 在从库上进行恢复
mysql -uroot -p <backup.sql
(如果再次备份则会出错,如果需要再次备份,则可以在从库做一个 reset master 操作即可)
然后进行同步 CHANGE TO 操作
change master to master_host="192.168.1.100",master_port=3306,master_user=‘repl‘,
master_password=‘repl4slave‘,master_auto_position=1;
然后进行测试即可
扩展
在从库上执行
show global variables like "%server%"; 可以看到从头库的 uuid 号
如果在从库上执行操作
通过show master status;
也可以看到从库的 uuid+事物号
以上是关于mysql5.7 基于gtid的主从复制的主要内容,如果未能解决你的问题,请参考以下文章