修改数据复制方式
更新时间:2024-07-20
概述
您可以根据自身业务需求,设置RDS MySQL主备实例之间的数据复制方式,以提高云数据库可用性。
复制方式介绍
MySQL 实例支持异步和半同步两种数据复制方式,复制方式的原理如下:
- 异步:
应用发起更新请求,即进行增加、删除、修改数据的操作时,主实例完成操作后会立即响应应用,同时主实例向备实例异步复制数据。
因此,在异步数据复制方式下,备实例不可用时不会影响主实例上的操作;但如果在操作提交完成时,主实例恰好出现宕机,此时数据尚未发送给备实例,那么备实例上将没有已经完成提交的事务修改的数据,因此在备库切换为新主库时,会造成数据丢失。
不过总体而言,因主库不可用引起主备库数据不一致的概率较低。 -
半同步:
应用发起的更新在主实例执行完成后,会将日志同步传输到备实例,备实例收到日志,事务就算完成了提交,不需要等待备实例执行日志内容。在半同步复制模式下,主实例上已完成提交的事务能在至少一个备实例上找回,因而解决了异步复制的数据丢失问题。但是需要等待至少一个备实例落盘并发送确认,主实例上事务提交的时延会变大,因而TPS会下降。
当备实例不可用或者主备实例间出现网络异常时,半同步会退化为异步,因此主库不可用仍然可能会较小概率出现数据不一致。
说明:默认情况下,双机高可用版云数据库 RDS for MySQL 实例采用异步复制方式。
前提条件
实例为如下版本:
- MySQL 8.0 双机高可用版
- MySQL 5.7 双机高可用版
- MySQL 5.6 双机高可用版
- MySQL 5.5 双机高可用版
修改数据复制方式
- 登录 RDS 管理控制台。
- 在控制台页面左上角,选择实例所在地域。
- 找到目标实例,点击“实例名称”进入实例详情页面。
- 在“基本信息”模块,可对数据同步方式进行修改。点击开启半同步即可由异步同步方式修改为半同步同步方式。
说明: 在只读实例的“基本信息”页面仅可以查看数据同步方式,如需修改请前往主实例“基本信息”页面。
相关API
- API接口:修改同步模式