帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【服务器相关】最新MySql8.27主从复制及SpringBoot项目中的读写分离实战教程

发表时间:2025-06-16 03:46:00 小编:主机乐-Yutio

最新MySql8.27主从复制以及SpringBoot项目中的读写分离实战

1、MySql主从复制

MySQL主从复制是一个异步的复制过程,底层是基于MySQL1数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库)从另一台ySQL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。SQL主从复制是MySQL数据库自带功能,无需借助第三方工具。

MySQL复制过程分成三步:
1、master将改变记录到二进制日志(binary log)
2、slave:将master的binary log拷贝到它的中继日志(relay log)
3、slave重做中继日志中的事件,将改变应用到自己的数据库中

说明:下面的配置需要准备两台服务器并且都要安装有MySQL数据库,同时安装数据库的方式不同修改配置文件的位置也不同,需要更具自身电脑来查询

2、配置-主库Master

修改MySql数据库的配置文件/etc/my.cnf,在配置日志文件中添加如下代码(不要第一行)

注意:上面的SQL的作用是查看Master状态,执行完此SQL后不要再执行任何操作

3、配置-从库Slave

修改MySQL数据库中的配置文件/etc/my.cnf

3、主从复制测试

1、在主数据库下创建一个新的数据库,然后在从库中刷新,如果出现主库设置的数据库那么就是成功了

4、读写分离案例

面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的
应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效
的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。

4.1、Sharding-JDBC框架介绍

Sharding-JDBC定位为轻量级Java框架,在Java的DBC层提供的额外服务。它使用客户端直连数据库,以jar包形式
提供服务,无需额外部署和依赖,可理解为增强版的DBC驱动,完全兼容JDBC和各种ORM框架。
使用Sharding-JDBC可以在程序中轻松的实现数据库读写分离。

  • 适用于任何基于JDBC的ORM框架,如:JPA,Hibernate,.Mybatis,Spring JDBC Template或直接使用DBC。
  • 支持任何第三方的数据库连接池,如:DBCP,C3PO,BoneCP,Druid,HikariCP等。
  • 支持任意实现DBC规范的数据库。目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库

springboot项目中只需要导入核心依赖即可

主库主要是用来完成增、删、改操作
从库主要是用来完成查询操作

案例目录结构

基于MP快速开发,下面给出基本的控制器代码,在控制中进行二次开发

使用接口测试工具或插件来完成接口的调用测试是否使用哪一个数据源

我这里使用的是IDEA中的RestfulToolc插件

通过请求一个【查询】接口,然后断点查看一下,目前

放行查看具体的数据

再次请求一个【添加或删除】完成主库操作

到此这篇关于最新MySql8.27主从复制及SpringBoot项目中的读写分离实战教程的文章就介绍到这了,更多相关MySql主从复制内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


联系我们
返回顶部