数据库环境准备(主从复制)
直接在master导入reggie数据库即可
我们把localhost的reggie数据库导出来sql文件,从192.168.121.136服务器mysql中打开
代码改造
maven坐标
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>
yml文件配置
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.121.136:3306/reggie?characterEncoding=utf-8
username: root
password: root
#从数据源
slave:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.121.137:3306/reggie?characterEncoding=utf-8
username: root
password: root
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
main:
allow-bean-definition-overriding: true #定义配置源对象
功能测试
项目正常启动
查看sql
员工管理页面
sql走的从库
更新员工信息
走的主数据库
注意
- 打开redis服务(windows)