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

相关推荐
恣艺2 小时前
Redis列表(List):实现队列/栈的利器,底层原理与实战
数据库·redis·list
秋难降2 小时前
零基础学习SQL(十一):SQL 索引结构|从 B+Tree 到 Hash,面试常问的 “为啥选 B+Tree” 有答案了
数据库·后端·mysql
代码的余温2 小时前
Linux内核调优实战指南
linux·服务器·数据库
almighty272 小时前
C# DataGridView表头自定义设置全攻略
数据库·c#·winform·datagridview·自定义表头
ljh5746491193 小时前
mysql 必须在逗号分隔字符串和JSON字段之间二选一,怎么选
数据库·mysql·json
论迹3 小时前
【Redis】-- 持久化
数据库·redis·缓存
getdu3 小时前
Redis面试相关
数据库·redis·面试
TDengine (老段)3 小时前
TDengine 选择函数 TOP() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
m0_694845573 小时前
教你使用服务器如何搭建数据库
linux·运维·服务器·数据库·云计算
gamers4 小时前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb