31.10 基于半同步模式搭建MySQL主从复制环境
MySQL支持使用半同步模式搭建MySQL的主从复制环境。默认情况下,MySQL的主从复制是异步的,向主库中写入数据,从库是否同步了主库的数据,主库无法确认。如果主库和从库的数据不一致,并且主库发生故障,此时从库就会丢失部分数据。为了避免这种情况的发生,就需要使用MySQL的半同步复制模式。
31.10.1 半同步参数说明
使用半同步复制时,主库会一直等待从库复制数据,直到至少有一个从库接收到同步的数据。其中,有几个重要的参数需要说明。
·rpl_semi_sync_master_enabled:主库是否开启半同步模式,0表示否,1表示是。
·rpl_semi_sync_master_timeout:主库等待从库返回确认结果的超时时间,单位是ms,默认为10s。如果超出了等待时间,主库还未收到从库的确认结果,或者从库中的数据快要追赶上主库时,则主库会自动将半同步模式切换为异步模式。反之,主库会自动切换为半同步模式。
·rpl_semi_sync_slave_enabled:从库是否开启半同步模式,0表示否,1表示是。
·rpl_semi_sync_master_wait_point:主库等待从库返回确认结果的方式。AFTER_SYNC表示主库将事务同步到从库的中继日志后,从库即返回确认结果;AFTER_COMMIT表示主库将事务同步到从库的中继日志,从库读取中继日志,并提交了事务后&#