GTID:全局事务ID,其保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的ID
GTID=source_id:transaction_id
原理:从库告诉主库已执行的GTID值,然后主库把没有执行的GTID告诉唯一的一个从库,从库在执行这些GTID值
优点:可以很方便的进行故障转移(启动了log_slave_update从库保存了主库的二进制日志,从而可以很方便的进行切换)
从库不会丢失主库上的任何修改(主库二进制日志没删除的情况下)
缺点:故障处理比较复杂(比如从库的主键冲突,必须在从库上插入空事务的方式才能跳过这种错误) ,对执行的SQL有一定的限制。
配置步骤:
1. 创建复制账号(同日志点复制),一定不要在其他从库上手动建立相同的账号。
create user ‘reple’@‘172.20.249.%’ identified by ‘123456’;
grant replication slave, replication client on . to ‘repl’@‘172.20.249.%’;
2. 配置主从库
主库(必须):
log-bin=/usr/local/mysql/log/mysql-bin
s