MySQL 5.6 5.7半同步的区别

MySQL 5.6 主库执行事务后先提交,然后等待至少一个从库确认events写入到relay log并刷入到磁盘。但是,如果从库events并没有写成功,主库提交的事务并不回滚,主从不能保证一致性,此时主库比从库数据新。   MySQL 5.7 主库执行事务,要等待至少一个从库确认events写入relay log并刷入到磁盘后,再提交。这样就确保了主库、从库数据的一致性。因此,5.7

Read more

MySQL 减少从库延迟的方法

从库延迟有两方面原因: 1、IO thread慢,主要是因为网络带宽不足。 在主从库开启启压缩参数slave_compressed_protocol减少压力。网上查看实验数据,压缩率大概是1/4(开启压缩7.14MB/s,不开启则是23.76MB/s) 如果CPU压力已经很大不建议开启压缩参数,毕竟压缩要消耗大量CPU资源。 2、 SQL thread慢。 SQL thread负责读取relay

Read more

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log

很久不关注MHA,最近看到已经升级到 MHA 0.58,开始支持MySQL的GTID。 GTID对于MySQL复制而言,已经是一场革命。复制变得更加简单,创建复制从库时无需指定主库的file和position,新引入的 master_auto_position=1 即可自动比对主从库之间的binlog差异,自动进行同步,无疑大大节省了DBA操作成本。 GTID的引入,对于DBA而言增加了学习成本。

Read more