配置 MySQL 主从复制,基于GTID的复制

fanrenxiang | | 访问(57)

  一、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