Linux运维数据库篇 如何进行MySQL的主从复制和读写分离

概述

主从复制在MySQL集群中是作为一种最为常见也最为有用的容灾机制 可以非常有效的备份数据
读写分离是对MySQL集群的最有效的优化方法,读和写分开来可以提高MySQL的效率
在生产环境种2者都是结合去使用

一、主从复制的原理

复制的类型

基于语句的复制(STATEMENT)。在主服务器上执行的 SQL 语句,在从服务器上执行同样的语句。MySQL 默认采用基于语句的复制,效率比较高。
基于行的复制(ROW)。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。
混合类型的复制(MIXED)。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制。

主从复制原理

在这里插入图片描述
主MySQL服务器做的增删改,都会写入自己的二进制日志(Binary log),然后从MySQL服务器打开自己的I/O线程连接主服务器,进行读取主服务器的二进制日志,备份写入到从服务器的中继日志(Relay log)当中,然后从服务器打开SQL线程,将中继日志中的数据重放到自己的服务器中,复制完成。

配置

准备
拓扑图
在这里插入图片描述
先安装MySQL 三台
在这里插入图片描述
四台都关闭防火墙
在这里插入图片描述

四台数据库服务器同步时间

安装ntp 同步时间
在这里插入图片描述
修改配置文件
在这里插入图片描述

在这里插入图片描述
主服务器开启服务,从服务器和阿米巴服务器同步主服务器时间

在这里插入图片描述
在这里插入图片描述
将时间同步添加到定时任务
在这里插入图片描述

主服务器sql配置

在这里插入图片描述

在这里插入图片描述

重启MySQL程序

在这里插入图片描述
给从服务器授权
在这里插入图片描述
查看主服务器在使用的2进制文件
在这里插入图片描述
主服务配置完成

从服务器配置

修改从服务器的配置文件

在这里插入图片描述

在这里插入图片描述
重启服务
在这里插入图片描述
进入数据库指定主服务器的ip和2进制文件 启动同步
在这里插入图片描述
开启同步和查看从服务器的线程是否开启
在这里插入图片描述
线程未开启的原因一般有四
1 网络不同
2 my.conf文件配置有问题
3 指向的主服务器的偏移量和密码 文件名 ip等
4 防火墙未关闭
另一台从服务器配置一样 只是id不同

检查结果

在主服务器中创建一个库 再去从服务器查看是否同步
在这里插入图片描述
查看两台从服务器
在这里插入图片描述
在这里插入图片描述

二、配置读写分离

1 安装jdk包和阿米巴服务

读写分离需要用到阿米巴来控制服务器的读写分离 基于java开发 需要安装jdk包
将包传入opt目录中 复制到/usr/local目录 为其赋权和安装
在这里插入图片描述
在这里插入图片描述
一直空格到底

在这里插入图片描述
移动文件到/usr/local/jdk下
在这里插入图片描述

修改配置文件 末行添加
在这里插入图片描述
执行配置文件 并查看版本 安装完成
在这里插入图片描述
安装阿米巴包
在/usr/local目录下创建软件目录 并压缩到该目录中且赋权
在这里插入图片描述
在这里插入图片描述
检查是否安装完成
在这里插入图片描述

2.配置读写分离

给阿米巴进入三台服务器的权限
在这里插入图片描述
配置阿米巴服务器
在这里插入图片描述
30行修改用户名
在这里插入图片描述
32行 数据库密码
在这里插入图片描述
115行 修改为master
在这里插入图片描述
117行解注释
在这里插入图片描述
修改数据库配置文件 默认进入test库 以防mysql中没有test库时,会报错
在这里插入图片描述
23行注释
在这里插入图片描述
26号修改
在这里插入图片描述
29-30修改 数据库密码
在这里插入图片描述
45行修改 主服务器名
在这里插入图片描述
48行指定主服务器地址
在这里插入图片描述
52行指定从服务器名
在这里插入图片描述
55行指定从1的地址
在这里插入图片描述
58复制上面 修改为从2的地址
在这里插入图片描述
65行修改
在这里插入图片描述
71行修改从服务器的名称
在这里插入图片描述
启动服务并查看端口
在这里插入图片描述

检查是否读写分离

先检测amobela是否和后端数据库对接
在这里插入图片描述
检测读写分离
主服务器创建一个表
在这里插入图片描述
给三台服务器写入数据

在这里插入图片描述
从1
在这里插入图片描述
从2
在这里插入图片描述

查询后的数据为两个从的数据轮询的结果
在这里插入图片描述

总结

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值