MySql教程

MySQL主从同步(三)——M-S-S架构配置实战

本文主要是介绍MySQL主从同步(三)——M-S-S架构配置实战,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL主从同步的M-S-S架构配置实战。
阅读本文,您需要对MySQL主从同步有一定的基础,如果您对此还存在困惑,欢迎查阅我博客内其他文章,相信您一定会有所收获!相关文章链接:
MySQL主从同步(一)——原理详解
MySQL主从同步(二)——M-S架构配置实战

一、实战环境

本次实验,我们使用三台Vmware虚拟机,来实现MySQL主从同步的M-S-S架构配置,各机器IP地址如下:
Master主库:192.168.136.101
Slave中继:192.168.136.201
Slave从库:192.168.136.120
三个MySQL数据库版本都是5.5.68,其余均是默认配置。

二、实验原理

在MySQL主从同步的M-S-S架构中,原理与开头文章推荐处的基本原理是相同的,但是其独有的问题在于Slave中继的作用。在M-S-S架构中,Slave中继的作用是缓解Master主库设备的压力,但是Slave中继设备本身并不存储数据,这一点可以人为将Slave中继的数据表配置成blackhole黑洞引擎模式,在该模式下,所有的数据并不会被数据库所存储。同时,还要注意对该数据表引擎的修改不要记录到二进制日志中。Slave中继在I/O进程从Master主库抓取数据后,虽然不会写入自身的数据库中,但是必须要写到自己的二进制日志中,这样,其他的Slave从库设备即可以从该Slave中继设备的二进制日志中得到数据库的信息了。

三、实验配置

下面,我就进行实际配置。

(一)主库配置

对于主库而言,首先需要配置的是/etc/my.cnf配置文件,需要在配置文件中写入内容如下:

log-bin=master-log
server-id=1
binlog-do-db= rep
binlog-ignore-db=mysql
sync-binlog=1
binlog-format=row

写入后,文件如下所示:
在这里插入图片描述
接下来,我们需要启动(重启)Mariadb数据库,重启并登录后,需要对数据库进行授权操作,相关SQL命令如下所示:

grant replication slave on *.* to 'rep_slave'@192.168.136.201 identified by '123456';

这样,主库就已经配置完成了。

(二)Slave中继配置

对于从库而言,需要配置/etc/my.cnf主配置文件如下:

server-id=2
log-bin=slave-relay-log
log-slave-updates=1
binlog-format=row

配置完成后,主配置文件如下所示:
在这里插入图片描述
对于Slave中继而言,在完成配置文件配置、启动(重启)并登录数据库后,需要做三件事:配置对Master主库的主从同步、授权Slave从库对自身的主从同步和自身的blackhole引擎设置。
配置对master主库的主从同步SQL语句如下:

change master to 
master_host='192.168.136.101',
master_user='rep_slave',
master_password='123456';

授权Slave从库对自身的主从同步SQL语句如下:

grant replication slave on *.* to 'rep_slave'@'192.168.136.%' identified by '123456';

配置自身的blackhole引擎SQL语句如下:

set sql_log_bin=off;
alter table exp ENGINE=blackhole;
set sql_log_bin=on;

由于该过程不能被记录进入二进制日志,因此在进行这一步操作时,必须合理的设置sql_log_bin参数。
相关配置过程如下所示:
在这里插入图片描述
在这里插入图片描述

(三)Slave从库配置

对于Slave从库,在/etc/my.cnf主配置文件中,只需要写入如下内容:

server-id=3
log-bin=slave-binlog
binlog-format=row

完成后的主配置文件如下所示:
在这里插入图片描述
在完成配置后,需要配置Slave从库设备对Slave中继的主从同步,相关SQL命令如下:

change master to 
master_host='192.168.136.201',
master_user='rep_slave',
master_password='123456';

这样,当上述所有配置都完成后,我们的MySQL主从同步M-S-S架构就已经配置完成了。

四、效果验证

接下来,我们对我们配置的架构效果进行验证。

(一)slave中继上没有数据

在这里插入图片描述

(二)Slave从库上有数据

在这里插入图片描述

(三)在slave从库上查看slave状态

在这里插入图片描述

(四)在slave中继上查看slave状态

在这里插入图片描述

(五)在master主库设备上查看master状态

在这里插入图片描述

(六)在slave中继设备上查看master状态

在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

这篇关于MySQL主从同步(三)——M-S-S架构配置实战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!