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
至此 搭建成功 有问题可以留言