什么?你们项目没用过主从复制和读写分离?
温馨提示:大概需要半小时到一小时安装成功。
目录
1.初始化一个SpringBoot工程,并添加Sharding-jdbc依赖
前言
提示:随着项目数据量的增大,我们不得不开始考虑主从复制和读写分离。
一、主从复制搭建
1、Master库搭建(主库搭建和从库搭建一毛一样)
这里我只准备了一台服务器进行搭建测试,遂主库和从库均在一台服务器上,只不过是访问端口不一样而已
第一步:检查用户组
第二步:下载mysql包
使用xftp软件上传至服务器
第三步:创建存储数据目录并赋权
目录切换到/home/mysql下,所有解压文件移动到usr/local/mysql下面
第四步 编辑my.cnf,做一些简单配置
第五步启动服务
这边我们提供一个解决方案的链接:解決方案鏈接
还可能会出现:
这边提供另一个解决方案:解决方案链接
重启服务:
第五步添加软连接,方便重启
第七步:登录mysql,修改密码
第七步:设置开机启动
验证navicat远程连接
2、Slave库搭建(参考主库搭建 ↑)
3、绑定主从关系(这一步主要是修改一些配置文件)
(1)开启master的二进制日志
①配置my.cnf配置文件
②添加二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)
③授权 :登录数据库,需要给slave数据库配置一个用户/密码的权限
(允许某个ip地址的某个用户以某个密码对当前数据库的所有库和表进行复制操作配置之后需要刷新权限)
④修改完重启服务,查询master状态
登录数据库,查询master状态,如下图所示:
file:是日志文件名称
position:日志所在位置
(2) 开启slave的二进制日志
①修改my.cnf
添加slave二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)
注意:每一台指定唯一的一个server-id标识
修改完配置服务需重启服务
②配置slave指向master,登录数据库
主要看这俩进程是否YES:
OK,主从复制配置文件到此修改完成。
提示:若主从挂调,可以优先在这里查看报错信息。
4、测试主从复制效果
二、读写分离配置
1.初始化一个SpringBoot工程,并添加Sharding-jdbc依赖
数据源配置代码如下:
2.测试读写分离效果
如下,在mysql-master 容器中,查看sql日志,可以看到插入的sql在主数据库执行:
如下,查看mysql-slave的sql日志,读取列表数据在从数据库执行,说明我们配置的读写分离是成功的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!