centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

1.安装一台centos7,并且装好数据库,然后使用vm克隆出一台,所以有两台

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

使用vm安装并克隆

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

xshell截圖

192.168.73.131
192.168.73.132

2.使用navicat工具分别连接两个远程数据库

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

navicat截圖

3.主数据库192.168.73.131配置--配置my.cnf文件配置

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

linux系統文件目录

4.在配置文件的最后添加以下内容

#开启二进制日志
log-bin=mysql-bin
#设置server-id
server-id=1

5.在从数据库的配置文件配置

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

linux系統文件目录

6.配置以下内容内容

server-id=2

7.回到navicat工具,新建一个查询,主数据库运行

grant replication slave on *.* to 'rss'@'%' identified by '123456'

解释:创建账号rss和密码为123456的账号用于主从复制

SHOW MASTER STATUS

运行结果

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

查询截图

解释:查看主节点的状态,因为使用的是二进制文件的方式,所以需要使用到日志文件的名称和当前使用的位置,即File和Position,后面会使用到

8,从服务器运行一下命令

CHANGE MASTER TO MASTER_HOST='192.168.73.131', MASTER_USER='rss',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=120;

前提:先关闭slave节点,否则报错

解释: 根据前面在主服务器上创建的账号和密码远程登录主机,其中MASTER_LOG_FILE和MASTER_LOG_POS对应主服务器的内容,前面已经提醒这里会用到

9.开启从服务器的slave节点复制进程

START SLAVE

10.查看从服务器节点状态

SHOW SLAVE STATUS

结果展示:当下图的Slave_IO_Runing和Slave_SQL_Runing为yes即为成功

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

查询截图

11.报错结果:对应查看原因的字段都为 Last_IO_Error

终端显示:

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

系统截图

navicat显示:

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

navicat截图

12.原因分析

因为第二台虚拟机是由第一台克隆出来的,同时具备第一台的特性,包括mysql服务器的UUID

13.解决方案

修改/etc/my.cnf文件里面的UUID,确保两台机器不一致

centos7环境下mysql主从复制--步骤详解(二进制日志实现方式)

文件目录


分享到:


相關文章: