You need to enable JavaScript to run this app.
文档中心
云数据库 MySQL 版

云数据库 MySQL 版

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