news 2026/5/20 23:33:30

牛掰,MySQL 8.2 支持读写分离了!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
牛掰,MySQL 8.2 支持读写分离了!
  • MySQL InnoDB ReplicaSet

  • 启动 MySQL Router 8.2

  • 结论


我们一直在等待的 MySQL 读/写分离功能 现在终于可以使用了!

在规模上,我们在副本之间分配读取,但这必须在应用程序中以某种方式进行管理:指向在某个地方写入并在其他地方读取。在 MySQL 8.2 中,MySQL Router 现在能够识别读取和写入,并将它们路由到主实例(如果是 InnoDB 集群),或者路由到异步复制源以进行写入,将其路由到辅助实例或副本以进行读取。

为了说明这一点,我部署了最简单的架构:MySQL InnoDB ReplicaSet。

MySQL InnoDB ReplicaSet

这只是一个复制源实例和一个(或多个)异步副本:

图片

这是 MySQL Shell 中 ReplicaSet 对象的状态:

图片

启动 MySQL Router 8.2

让我们配置(启动)MySQL Router:

图片

我们还可以在 MySQL Shell ReplicaSet 对象中看到 Router:

图片

使用读/写端口 ( 6450 ) 连接到 MySQL:

图片

我们可以看到,默认情况下,如果执行读操作,我们将访问到副本,但如果启动事务,我们将到达复制源(主),而无需更改端口并使用相同的连接。

我们还可以看到使用只读事务时的差异:

图片

我们可以在 MySQL Router 的配置文件中看到生成的读写分离的设置:

[routing:bootstrap_rw_split] bind_address=0.0.0.0 bind_port=6450 destinations=metadata-cache://myreplica/?role=PRIMARY_AND_SECONDARY routing_strategy=round-robin protocol=classic connection_sharing=1 client_ssl_mode=PREFERRED server_ssl_mode=PREFERRED access_mode=auto

您还可以使用命令 ROUTER SET access_mode= 在会话中定义要访问的实例类型:

图片

结论

综上所述,MySQL Router 8.2 支持读写分离。这是一项很有价值的功能,可以优化数据库性能和可扩展性,而无需对应用程序进行任何更改。

通过此配置,您可以将所有读取流量定向到只读实例,并将所有写入流量定向到读写实例。

此功能不仅增强了整体用户体验,还简化了数据库管理和部署。

读写实例是主实例或源实例。只读实例是副本(InnoDB Cluster ReplicaSet、ReplicaSet 辅助实例或副本群集中的辅助实例)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:23:07

UI-TARS-desktop实战:用自然语言轻松操控电脑任务

UI-TARS-desktop实战:用自然语言轻松操控电脑任务 1. 引言:从命令行到自然语言的交互革命 随着人工智能技术的发展,人机交互方式正在经历深刻变革。传统的图形用户界面(GUI)操作依赖鼠标与键盘的精确控制&#xff0c…

作者头像 李华
网站建设 2026/5/19 9:58:26

竞品关键词实战指南:从挖掘到落地,抢占搜索流量高地

在当今的数字营销领域,搜索流量是品牌获取曝光、转化客户的核心阵地之一。而竞品关键词,作为已经在市场中被验证有效的搜索术语,就像一把打开流量宝库的钥匙。它们不仅能帮助我们洞悉用户需求、发现内容漏洞,更能让我们在自然搜索…

作者头像 李华
网站建设 2026/5/15 9:00:13

当系统出现xactengine2_7.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华