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、项目代码简介

相关推荐
RestCloud11 小时前
4中常见的数据集成方式
数据库
咯哥布林11 小时前
Ubuntu24安装MySQL8.4
mysql
Databend11 小时前
超 10 倍查询加速,N-Gram Index 设计与优化全解析
数据库
爱可生开源社区12 小时前
SCALE:一个面向专业级任务的大语言模型 SQL 能力开源评测框架
数据库
HyggeBest12 小时前
Mysql之undo log、redo log、binlog日志篇
后端·mysql
星环科技TDH社区版13 小时前
星环科技产品可存储的表格式功能介绍以及创建示例
大数据·数据库
bug菌14 小时前
CAP定理真的是死结?业务系统到底该怎么取舍!
分布式·后端·架构
Tapdata17 小时前
全球 DaaS 市场研究报告上线,聚焦数据服务化趋势与行业演进路径
数据库
李少兄18 小时前
MySQL 默认连接数
数据库·mysql
龘龍龙18 小时前
RabbitMQ-延时队列
分布式·rabbitmq