MariaDB 10 Slave Crash-Safe需转为GTID复制模式

之前写了一篇《MySQL5.6 crash-safe replication》 ,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository = TABLE参数,官网建议用GTID复制模式代替传统复制模式,传统复制模式是不支持Slave Crash-Safe的。

wKiom1Xmr7WRLV1DAAUUod9tlpw045.jpg


在mysql库下,会有一张gtid_slave_pos表(在安装初始化时,就已经是innodb引擎)

1
2
3
4
5
6
START TRANSACTION;
-- Statement 1
-- ...
-- Statement N
-- Update replication info
COMMIT;

这样sql线程执行完事务后,立即会更新gtid_slave_pos表,如果在更新过程中宕机,事务会回滚,gtid_slave_pos表并不会记录同步的点,下次重新同步复制时,从之前的POS点再次执行。


MariaDB 10默认是传统复制,如果转为GTID复制很简单,并不需要像MySQL5.6那样,要在Slave从库上设置log_slave_updates = 1(增加从库的IO压力),并重启数据库生效那么麻烦。MariaDB支持热切换GTID,你可以先以传统复制搭建主从,然后再热切GTID复制模式,如下图: 

wKioL1XmrouQsk9yAAKZFfQNFDo290.jpg

wKioL1XmrtGxO7l5AALI8ghWW8M548.jpg

通过几个简单的步骤,Slave从库就支持了Crash-Safe。


注:MHA0.56(最新版),还不支持MariaDB10的GTID复制模式,在故障切换时,还会以传统复制搭建主从,所以需要每次手工热切换下GTID模式。


参考官网:

wKiom1XmrfuwVqIiAAl72MkEipQ780.jpg























本文转自hcymysql51CTO博客,原文链接: http://blog.51cto.com/hcymysql/1690848,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值