什么?你们项目没用过主从复制和读写分离?
温馨提示:大概需要半小时到一小时安装成功。
目录
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日志,读取列表数据在从数据库执行,说明我们配置的读写分离是成功的。