MySQL基于GTID建立半同步复制
基于GTID创建半同步的官方流程
Step 1. 同步主备库
如果是新上线的服务器,直接跳到Step 3。如果主备库已经在使用非GTID的方式进行binlog同步了,需要将所有数据库设置为只读(没有提交的事务会回滚,会影响业务),等待备库赶上主库。
set @@GLOBAL.read_only=ON;
未开启GTID模式前生成的binlog,在开启GTID模式后的半同步架构中无法使用。如果需要将binlog用于除半同步复制之外的其他用途,比如备份恢复,那么必须等到没有GTID的binlog都过期。理想情况下,要等到服务器上所有的binlog都被purge掉,且已有的备份都过期。
Step 2. 停止数据库
停止主备库的数据库服务。
mysqladmin -uroot