首页 > 数据库 >MySQL 官宣:支持读写分离了!!

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

时间:2024-10-09 09:21:58浏览次数:8  
标签:副本 ReplicaSet 官宣 读写 实例 MySQL Router

我们一直在等待的 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最新版)

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

标签:副本,ReplicaSet,官宣,读写,实例,MySQL,Router
From: https://www.cnblogs.com/javastack/p/18453541

相关文章

  • 数据库mysql链接网页打不开 mysql数据库连接失败的原因
    MySQL数据库连接失败可能有以下几个常见原因:网络问题:服务器与客户端之间的网络不通。MySQL服务所在的服务器防火墙设置阻止了外部访问。MySQL服务未启动:确认MySQL服务是否已经正常启动。配置错误:连接字符串中的主机名、端口、用户名或密码错误。配置文件(my.cn......
  • 【MYSQL学习】10分钟速成!MySQL新手也能秒变高手?对比其他数据库,MySQL究竟牛在哪里?
    ......
  • 【MYSQL学习】10分钟速成!MySQL数据库基本概念全解密,新手也能秒变高手?
    ......
  • Mysql是如何实现事务的?
    Mysql是如何实现事务的?MySQL通过以下几种机制实现事务管理,确保数据的一致性和完整性:1.ACID属性原子性(Atomicity):事务要么全部成功,要么全部失败。一致性(Consistency):事务开始和结束时,数据库的状态必须保持一致。隔离性(Isolation):多个事务并发执行的时候,一个事务的操作对其......
  • mysql join语法解析
     MySQL支持以下JOIN语法用于SELECT语句和多表DELETE和UPDATE语句中的table_references部分:table_references:查询中涉及的一个或多个表的引用,可以是简单表名或JOIN表达式的组合。escaped_table_reference[,escaped_table_reference]...escaped_table_ref......
  • MySQL【一】
    数据库基础知识基础概念介绍数据库:数据库(DataBase简称DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。 数据库管理系统: 数据库管理系统(DatabaseManagementSystem简称DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库......
  • 通过sysbench工具实现MySQL数据库的性能测试
    1.背景 sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。sysbench支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目前支持的数据库主要是My......
  • Spark的前瞻--- 数据处理方式,HDFS读写流程,MR计算原理,YRAN资源调度原理,分布式计算
    目录一,数据处理的方式1,单机数据处理2,集群数据储存1,HDFS的读写流程 4,分布式资源调度YRAN1,YRAN原理图二,分布式计算框架1,MapReduce分布式计算2,Spark分布式计算spark的部署方式1,spark资源调度yran模式三,Spark的开发方式1,交互式开发2,脚本式开发......
  • 【MYSQL】MYSQL约束-----非空约束(not null)和唯一约束(unique)
    1、概念MYSQL非空约束(notnull),指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库就会报错。注意:非空约束一张表中可以有多个。2、语法方式1:在创建表时指定(常用)<字段名><数据类型>not null例如:create table  t_user(i......
  • 免费送源码:Java+spring boot+MySQL springboot社区快递代取服务系统 计算机毕业设计原
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对社区快递代取服务系统等问题,对社区快递代取服务系统进行研究分析,然后开发设计出社区快递代......