You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot对接MySQL InnoDB Cluster如何使用单数据源处理读写请求

解决方案

你完全可以只用单个数据源处理所有读写操作,有两种可选实现方式:

方案1:直接使用现有读写端口(无需调整MySQL Router,最快生效)

  • 你当前的localhost:6446是读写端口,单主架构下该端口所有请求都会路由到集群主节点,主节点本身天然支持读、写两类操作,你完全不需要使用6447只读端口。
  • Spring Boot的数据源仅需配置该6446端口即可,所有读写请求都走这一个端口,不需要维护多数据源。唯一的影响是读请求不会自动分摊到从节点,完全符合你不需要读写分离的需求。

参考配置示例:

spring:
  datasource:
    url: jdbc:mysql://localhost:6446/your_db_name?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: your_account
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver

方案2:新增MySQL Router统一路由端口(适合多应用统一规范场景)

如果你不想在应用层使用默认的读写分离端口,可以修改MySQL Router的配置,新增一个专门路由到主节点的统一端口:

  1. 打开MySQL Router的配置文件mysqlrouter.conf,新增如下路由配置段:
[routing:all_to_primary]
bind_address = 0.0.0.0
bind_port = 6448
destinations = metadata-cache
routing_strategy = first-available
role = PRIMARY
  1. 重启MySQL Router服务后,所有发往6448端口的请求都会自动转发到当前集群主节点,同时支持读写操作,应用端直接配置该端口即可。

内容的提问来源于stack exchange,提问作者Ashish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 03:24:04