MySQL路由器的具体使用

 更新时间:2026年08月05日 09:30:21   作者:鹿鸣天涯  
这篇文章主要介绍了MySQL路由器的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、MySQL路由器

MySQL 官方自带的轻量流量转发中间件,专门搭配 InnoDB Cluster 高可用集群使用,不缓存数据,只做转发,轻巧稳定。

核心作用:

1. 固定入口,自动故障转移

程序永远只连路由器 IP + 固定端口,不去记后端三台数据库 IP ;一旦主数据库宕机,集群选出新主库,路由器立刻自动识别更新路线; 网站代码不用改任何地址,依旧正常读写数据库,业务不会崩

2. 自带读写分离,分担压力

路由器开两个端口分开流量:

7002读写端口:新增、修改、删除数据 → 全部发给主库;

7001只读端口:查询数据 → 轮流分给两台从库 查询压力分散开,数据库运行更快。

1.安装软件

2.配置服务

3.在mysql集群中创建测试用户

4.连接mysql路由器

5.在server1上查看网络

二、InnoDB Cluster

InnoDB Cluster 是 MySQL 官方推出的高可用完整解决方案,底层依托 MGR(组复制) 实现数据强一致同步,搭配管理工具与路由组件,整套架构解决 MySQL 单点故障、读写分离、自动故障切换问题,专为生产环境设计。

整套架构由三大核心组件构成:

1.InnoDB Cluster 数据集群(底层:MGR 组复制)

2.MySQL Shell(集群管理控制台,AdminAPI)

3.MySQL Router(应用层路由中间件)

InnoDB Cluster 会在集群所有节点上自动创建系统数据库:mysql_innodb_cluster_metadata,这一套库表结构整体称为元数据模式(Metadata Schema)。

1.配置单主模式

先关闭三台机的mysqld 服务,然后修改配置文件

重启服务,在server1上执行

在server23上直接启动组复制即可

2.MYSQL shell

MySQL 官方自带的高级客户端,替代老旧的 mysql 命令行客户端,专门用来管理 MGR、InnoDB Cluster 高可用集群。

(1)下载rpm安装包

(2)在primary节点创建集群管理员

(3)登录 MySQL Shell 8.0.46

(4)接管已经提前搭建完成的 MGR 组复制集群

(5)验证集群状态

三台节点角色与状态分析

1. server1:3306(主节点 Primary)

角色:memberRole: PRIMARY

读写权限:mode: R/W(可读可写,所有业务写入都走此节点)

在线状态:ONLINE MySQL

版本:8.0.36 2.

2.server2:3306 /server3:3306(两个从节点 Secondary)

角色:memberRole: SECONDARY

读写权限:mode: R/O(只读,不接受写入)

在线状态:均为 ONLINE 复制延迟:replicationLag: applier_queue_applied ;代表事务队列全部应用完毕,三节点数据完全一致,无同步延迟。

3.mysql router

架设在 业务程序 ↔ InnoDB Cluster 集群 中间的轻量代理网关,作用是屏蔽后端集群复杂细节。

集群永远只有 1 个可写主节点,主节点宕机后集群会自动选出新主。

MySQL Router 引导部署结果:bootstrap 引导初始化执行成功,已经自动对接上 InnoDB Cluster 集群,自动生成了完整路由配置文件。

到此这篇关于MySQL路由器的具体使用的文章就介绍到这了,更多相关MySQL路由器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论