一、GTID是什么
全局事务ID,其保证每一个在主上提交的事务在复制集群中可以生成一个唯一的ID。
表示为 GTID=source_id:transaction_id,其中source_id为执行事务的主库server的UUID值,transaction_id是自增的事务ID。
二、GTID复制步骤
1、在主DB服务器上建立复制账号
CREATE USER 'user'@'ip段' IDENTIFIED by 'yourpassword'; GRANT replication SLAVE ON *.* TO 'user'@'ip段';
2、配置主数据库服务器
log_bin=/var/lib/mysql-bin server_id=100 gtid-mode=on enforce-gtid-consistency=on log-slave-updates=on
3、配置从数据库服务器
server_id=101 relay_log=/var/lib/mysql/relay_log gtid_mode=on enforce-gtid-consistency=on read_only=on #建议 master_info_repository=TABLE #建议 relay_log_info_repository=TABLE #建议
4、从服务器初始化操作
xtrabackup --slave-info #方式一:推荐使用 mysqldump --master-data=2 --single-transaction #方式二
5、启动基于GTID的复制
CHANGE MASTER TO MASTER_HOST = '主数据库服务器ip', MASTER_USER = 'user', MASTER_PASSWORD = 'yourpassword', MASTER_AUTO_POSITION = 1;
这时可在主数据库上修改数据,在从库上观察是否同步修改记录。
注意:主从服务器上的防火墙均需关闭;主从上的server_id不能相同
文章来源:https://blog.csdn.net/fanrenxiang/article/details/70197004