欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql8实现读写分离

程序员文章站 2022-03-26 18:46:58
1、MySQL8读写分离 mycat不支持MySQL8的读写分离,但是MySQL官方提供了解决方案2、项目引入MySQL8.0 mysql mysql-connector-java 8.0.153、url驱动...

搭建MySQL主从复制点这里:https://blog.csdn.net/qq_41936090/article/details/112646348

1、MySQL8读写分离

  mycat不支持MySQL8的读写分离,但是MySQL官方提供了解决方案

2、项目引入MySQL8.0

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.15</version>
</dependency>

3、url驱动

 url: jdbc:mysql:replication://IP地址1,IP地址2,...,IP地址N/test	
url: jdbc:mysql:replication://192.168.0.109:3306,192.168.0.108:3306,192.168.0.110:3306/vue?setUncode=true&serverTimezone=Asia/Shanghai&characterEnocoding=utf-8      	
 IP地址1:master节点               写 请求
 后面的IP地址:都是从节点 	     负责 读

注意:只有事务为只读的查询走从节点数据库(@Transactional(readOnly = true))

4、测试

  • 验证读是否走从节点 :
    将两个从节点的数据改一下,不要和主节点数据库一致。然后执行查询,会发现,查询的数据都是从节点数据,说明读的确是走了从节点。

  • 验证写是否走主节点:
    进行数据的添加,然后再去各个节点对数据库进行查询,你会发现刚刚插入的数据,每一个节点的数据库都能查询到。
    数据的添加原理:数据添加走的是主节点,然后从节点通过日志,从而同步主节点数据库。

  • 后面遇到一个问题:执行查询的时候表名不存在,后来把查询语句的表名全部改为大小写即可。原理Linux系统中,Mysql默认区分大小写。

本文地址:https://blog.csdn.net/qq_41936090/article/details/112660835

相关标签: 学习 Linux