MySQL主从复制案例实现

使用Sharding-JDBC实现读写分离:

1、导入maven坐标

2、 在配置文件中配置读写分离规则

3、在配置文件中配置允许bean定义覆盖配置项

1、导入maven坐标

java 复制代码
<dependency>
      <groupId>org.apache.shardingsphere</groupId>
      <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
      <version>4.0.0-RC1</version>
</dependency>

2、配置读写分离规则

java 复制代码
spring:
  shardingsphere:
    datasource:
      names:
        master,slave
      # 主数据源
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.145.111:3306/rw?characterEncoding=utf-8
        username: haimeng
        password: 123456
      # 从数据源
      slave:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.145.110:3306/rw?characterEncoding=utf-8
        username: haimeng
        password: 123456
    masterslave:
      # 读写分离配置
      load-balance-algorithm-type: round_robin #轮询
      # 最终的数据源名称
      name: dataSource
      # 主库数据源名称
      master-data-source-name: master
      # 从库数据源名称列表,多个逗号分隔
      slave-data-source-names: slave
    props:
      sql:
        show: true #开启SQL显示,默认false

3、允许bean定义覆盖配置项

java 复制代码
  main:
    allow-bean-definition-overriding: true

4、启动测试




可以看到已经实现了读写分离了。

5、项目代码简介

相关推荐
邪修king9 分钟前
MySQL 数据库(三):表级操作实战:增删查改全实例演示 + 企业实操红线规范
android·数据库·mysql
知行产研20 分钟前
煤矿软件杀成红海,龙软科技押注的“时空智能“能接棒吗?
数据库·科技·mysql
2501_9336707923 分钟前
内部审计校招的数据化趋势:SQL、Excel、Power BI和证书选择
数据库·sql·excel
無a伟30 分钟前
RabbitMq高级特性:消息确认,持久化,重试机制
java·分布式·rabbitmq
倔强的石头_37 分钟前
异构数据同步最难的不是“搬过去”:我如何理解 KFS 的全周期一致性校验
数据库
半兽先生1 小时前
MySQL + Milvus vs PostgreSQL + pgvector:AI 应用向量检索架构选型终极指南
mysql·postgresql·milvus
anxiao_m1 小时前
工业桌面云怎么选?从算力、适配、安全多维度实测对比
数据库·云桌面·云桌面厂家
qq_349447951 小时前
搭建mysql主从数据库
数据库·mysql
白帽黑客-晨哥1 小时前
Copilot 能换成本地吗?本地化 AI 编程助手完全指南
数据库·人工智能·copilot