Mysql gtid 主从复制搭建

一 简介

mysql5.6以后每一个mysql服务器都有一个全局唯一的ID号叫做uuid,通用唯一识别码 (Universally Unique Identifier),而GTID就是由当前节点的UUID(一个128位的随机数)和为当前节点生成的随机数(TID)组成的,因此只要UUID不同再在此基础上保证事务ID不同就保证全局不一样了。

主流生产环境用的就是binglog 行的复制和GTID的复制

二  搭建简易过程

1 在配置文件中添加参数 (默认binlog日志为开启状态)

 gtid_mode = on 开启gtid模式
 enforce_gtid_consistency = 1 强制GTID的一致性
 log_slave_updates = 1 slave更新是否记入日志

2  创建用户

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
 flush  privileges ;
3  导出主库备份(适用于小库)

 /usr/local/mysql/bin/mysqldump -S /usr/local/mysql/tmp/mysql3306.sock --master-data=2 --single-transaction -A > 1.sql

--master-data=2 记录备份那一时刻的二进制日志的位置,并且注释掉

--single-transaction -A  针对innodb做快照 但是myisam依然会锁表

4 导入主库备份到从库

5进行同步

 change master to master_host='127.0.0.1',master_port =3306,master_user='backup',master_password='123456',master_auto_position=1;

master_auto_position=1此选项为GTID特性 能够自动查找binlog文件和位置根据GTID

6 开启并且查看从库状态

slave start
show slave status\G

至此 搭建成功 有问题可以留言