MySQL 官宣:支持读写分离了!!

news/2024/10/9 9:30:27/文章来源:https://www.cnblogs.com/javastack/p/18453541

我们一直在等待的 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 辅助实例或副本群集中的辅助实例)。

原文:https://blogs.oracle.com/mysql/post/mysql-82-transparent-readwrite-splitting

译文:https://opensource.actionsky.com/

更多文章推荐:

1.Spring Boot 3.x 教程,太全了!

2.2,000+ 道 Java面试题及答案整理(2024最新版)

3.免费获取 IDEA 激活码的 7 种方式(2024最新版)

觉得不错,别忘了随手点赞+转发哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/810397.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?

引言 受小程序camera组件预览和抽帧图像不一致的特性影响,一直未全功能支持全屏模式,详见本系列文件第四节小程序如何抽帧;随着插件在云上赛事、健身锻炼、AI体测、AR互动场景的深入应用,各开发者迫切的希望能在全屏模式下应用,以便获得更合理的UI布局和更佳的用户体验,经…

实战逆向RUST语言程序

实战为主,近日2024年羊城杯出了一道Rust编写的题目,这里将会以此题目为例,演示Rust逆向该如何去做。关于Rust逆向,其实就是看汇编,考验选手的基础逆向能力。在汇编代码面前,任何干扰都会成为摆设。实战为主,近日2024年羊城杯出了一道Rust编写的题目,这里将会以此题目为…

AI课堂教学质量评估系统

AI课堂教学质量评估系统利用摄像头和人脸识别技术,AI课堂教学质量评估系统实时监测学生的上课表情和课堂行为。同时,系统还结合语音识别技术和听课专注度分析算法,对学生的听课专注度进行评估。AI课堂教学质量评估系统通过收集和分析这些数据,生成教学质量报告,并提供针对…

在线表格技术如何助力企业实现全面预算?

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/前言 在当今快速变化和竞争激烈的商业环境中,企业需要通过精细化的管理手段来确保自身的市场竞争力和持续发展。全面预算管理(Comprehensive Budget Management)作为企业管理的重要组成部分,不仅为企业的…

考场作弊行为自动抓拍告警系统

考场作弊行为自动抓拍告警系统通过在考场内部布设监控摄像头和智能识别设备,考场作弊行为自动抓拍告警系统实时监测考场内所有考生的行为,考场作弊行为自动抓拍告警系统利用图像识别技术,对考生的行为进行自动抓拍,并分析判断是否存在作弊行为。考场作弊行为自动抓拍告警系…

大数据运维集大成者修行之路

搭建 华为私有云大数据平台 的组件

石油化工领域生产作业流程合规检测

石油化工领域生产作业流程合规检测通过引入AI视觉数据智能分析技术,石油化工领域生产作业流程合规检测对生产作业流程进行实时监测和合规性检测。石油化工领域生产作业流程合规检测利用现场监控摄像头对关键环节、设备和操作进行监测,采集数据并进行实时分析。石油化工领域生…

怎样解决连接数据库失败的问题

解决连接数据库失败的问题通常需要从以下几个方面入手:检查数据库地址:确认数据库服务器的地址是否正确。 检查是否使用了正确的端口号。验证数据库凭证:确保使用的用户名和密码正确无误。 如果使用的是环境变量或配置文件,请确认这些值是否设置正确。网络连接检查:测试从…

如何在网站后台设置网站底部联系方式

要在网站后台设置网站底部的联系方式,通常可以通过以下步骤来实现:登录后台: 首先,你需要登录到网站的内容管理系统(CMS)后台。这通常是通过输入网址后加上/admin或者特定的后台登录路径来访问。找到设置或编辑页面: 在后台管理界面中,寻找“设置”、“页面编辑”或者“模…

织梦CMS遇到数据库连接失败怎么办?

当遇到织梦CMS(Dedecms)数据库连接失败的问题时,可以按照以下步骤进行排查和解决:检查数据库配置确认include/config.php文件中的数据库配置是否正确,包括数据库服务器地址、用户名、密码以及数据库名称。验证数据库服务状态检查MySQL或使用的其他数据库服务是否正常运行。…

公司网站显示脚本错误怎么解决

公司网站出现脚本错误可能由多种原因造成,下面是一些常见的解决步骤:清除浏览器缓存:清除浏览器中的缓存和Cookies,有时候旧的缓存文件会导致脚本加载失败。检查JavaScript代码:查看浏览器开发者工具中的Console标签页,查看是否有具体的错误信息。 确认所有外部脚本(如广…

怎么修改模板上的内容?更改模板

要修改模板上的内容或更改模板,通常需要遵循以下步骤:定位模板文件:首先找到你想要修改的模板文件的位置。这通常取决于你使用的开发环境和框架。例如,在Web开发中,模板文件可能位于项目的views或templates目录下。编辑模板内容:使用文本编辑器打开模板文件。 根据需求修…