目录
1 mysql 主从搭建
1.1 docker mysql 主从搭建
1.2 非docker mysql 主从搭建
2 springboot sharding-jdbc 主从 读写分离
2.1 pom 加依赖
2.1 yml 配置文件
3 测试 -> 直接使用 就是读写分离
3.1 实体类User -> 数据字段 对象字典
3.2 Mapper -> 增删改查的接口
3.3 Service -> 调用Mapper中增删改查方法
3.4 Controller -> 客户端/postman 请求的路径 -> 调用Service
4 日志-postman 验证 读写分离
4.0 日志使用课程 -> 查询日志(增删改查的都记录)
4.1 配置日志在 /opt/mysql-s/data/slave.log -> 映射/var/lib/mysql:q
4.2 日志文件夹下 -> tail -f slave.log -> get一次请求自动刷新
0 课程视频
SpringBoot Sharding-JDBC实现数据库读写分离 一主一从 一主多从 多主多从_哔哩哔哩_bilibili
1 mysql 主从搭建
1.1 docker mysql 主从搭建
docker Mysql部署主从集群_tenc1239的博客-CSDN博客
1.2 非docker mysql 主从搭建
Mysql 主从 读写分离_tenc1239的博客-CSDN博客
2 springboot sharding-jdbc 主从 读写分离
2.1 pom 加依赖
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
2.1 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://8.219.87.87:3326/test001?useUnicode=true&characterEncoding=utf-8 # 这个url 不能写错
username: root
password: root
slave:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://8.219.87.87:3327/test001?useUnicode=true&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
main:
allow-bean-definition-overriding: true
3 测试 -> 直接使用 就是读写分离
3.1 实体类User -> 数据字段 对象字典
3.2 Mapper -> 增删改查的接口
3.3 Service -> 调用Mapper中增删改查方法
3.4 Controller -> 客户端/postman 请求的路径 -> 调用Service
4 日志-postman 验证 读写分离
4.0 日志使用课程 -> 查询日志(增删改查的都记录)
Mysql 日志_tenc1239的博客-CSDN博客【代码】Mysql 日志。https://blog.csdn.net/tenc1239/article/details/130451019?spm=1001.2014.3001.5501
4.1 配置日志在 /opt/mysql-s/data/slave.log -> 映射/var/lib/mysql:q
general_log = 1
general_log_file = /var/lib/mysql/slave.log # /var/lib/mysql是mysql配置是设置的映射路径