本篇内容介绍了“MySQL5.6怎么建立GTID主从复制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
实验基于
MySQL 5.6.x(5.6.30)
ps. MySQL 5.7开启GTID更方便
master: 192.168.1.186
slave: 192.168.1.187
〇 同步两个mysql实例的数据
先在slave上执行
SET @@global.read_only=ON;
然后通过mysqldump、xtrabackup等工具备份master数据,并且恢复到slave上。
因为开启了read_only恢复可能需要具有super权限的用户。
〇 关闭两个mysqld
〇 修改配置文件,并以GTID方式启动:
master和slave配置文件都需要改
配置文件[mysqld]里至少需要添加:
log-bin
relay-log = relay-log
log-slave-updates
gtid_mode = ON # 5.6为静态参数,5.7.6以后为动态参数
enforce-gtid-consistency = ON # 5.6中为布尔类型,5.7.6以后为枚举类型,多了两个选项
另外要保证master和slave的server_id不一致
(在5.7中,slave也可以不需要开启binlog便可以启动GTID了,存放在mysql.gtid_executed中)
〇 建立连接
在master上创建replication用户:
GRANT replication slave ON *.* to repl@'192.168.1.187' IDENTIFIED BY 'repl@pwd';
FLUSH PRIVILEGES;
并且在slave上执行:
CHANGE MASTER TO
MASTER_HOST = '192.168.1.186',
MASTER_PORT = 3306,
MASTER_USER = 'repl',
MASTER_PASSWORD = 'repl@pwd',
MASTER_AUTO_POSITION = 1;
START SLAVE;
〇 在master上关闭read_only
SET @@global.read_only=OFF;
“MySQL5.6怎么建立GTID主从复制”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!