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的主从复制的主要内容,如果未能解决你的问题,请参考以下文章

mysql5.7主从复制--在线变更复制类型

通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制

开启GTID主从同步出现1236错误问题

MySQL5.7.21开启Gtid配置主从复制

mysql5.7使用gtid模式搭建主从复制架构

MySQL5.7配置GTID主从---GTID介绍