- 文档首页
云数据库 MySQL 版
用户指南
连接管理
管理连接终端
设置一致性级别
设置一致性级别
本文介绍云数据库 MySQL 版支持的三种一致性级别,及其适用的场景,您可以根据业务需求选择合适的一致性级别。
云数据库 MySQL 版支持通过读写分离将读请求分发至只读节点,从而提升读取性能。但是当主从复制存在较高延迟时,从只读节点中读取数据可能无法满足用户“写后即可读”的一致性要求。为了解决数据一致性要求,MySQL 支持了三种一致性级别:全局一致性、会话一致性和最终一致性。您可以根据业务对数据一致性和读取性能的要求选择合适的级别。
云数据库 MySQL 版默认采用最终一致性级别。该级别下,读请求会直接发送到只读节点,以充分发挥读写分离的流量分担能力。若主从复制存在较高的延迟,写入后可能无法立即获取最新数据,但随着数据同步完成,最终可以读取到一致的数据。
适用于希望降低主节点压力,且对数据实时一致性要求不高的业务场景。
会话一致性能确保同一会话内写后即可读。该模式基于会话 GTID 位点进行路由,优先将读请求分发至已追平对应位点的只读节点;若只读节点在设置的超时时间内仍未追平,则根据超时策略转发至主节点读取或返回错误信息。在满足同一会话内数据一致性要求的同时,利用只读节点分担读压力。
适用于需要保证同一会话内写后立即读、且希望通过只读节点分担读请求压力的业务场景。
全局一致性能确保所有读请求均能查询到全局最新的数据。该模式基于全局 GTID 位点进行路由,优先将读请求分发至已追平全局位点的只读节点。通过这种方式确保读请求能获取到所有会话已更新的数据,避免因主从复制延迟导致不同会话之间出现数据可见性差异,从而实现全局数据的一致性。
适用于不同会话之间存在逻辑依赖、要求各会话读取数据必须完全一致的业务场景。
- 仅终端类型为代理终端、读写模式为读写的连接终端支持设置一致性级别。
- 修改一致性级别后,仅对新到达的读请求生效,不影响已建立的连接和已下发的请求。
- 修改一致性级别为会话一致性或全局一致性时,会使代理等待只读节点同步 GTID 位点(最长等待时间为一致性读超时时间),可能增加读请求延迟。
- 只读节点存在复制延迟时,全局一致性可能使更多读请求路由到主节点,导致主节点负载增大、业务延迟进一步上升;建议在读多写少场景使用,并建议业务低峰期切换。
- 超时策略选择返回错误时,超时将向应用端返回错误信息,业务需具备重试能力;选择转发主节点时需要评估主库的承载压力。
支持在创建连接终端时,设置一致性级别,具体操作请参见创建连接终端。 说明
如未设置实例的所属项目,本操作应选择项目为账号全部资源。
- 在实例列表页面,单击目标实例名称,进入实例信息页。
- 在实例信息页,单击连接管理页签,进入连接管理页。
- 在连接管理页签的终端列表中,单击目标连接终端操作列的编辑,进入编辑连接终端页面。
- 在编辑连接终端页面的读写分离配置区域,打开读写分离开关,设置一致性级别、一致性读超时和超时策略参数。
最近更新时间:2026.10.16 15:31:27