MySQL主从复制配置过程(双主双从模式)

环境准备

为了搭建MySQL数据库主从复制(双主双从模式),准备一下四台服务器,并明确了各节点的角色及IP地址。

角色IP地址节点名称
Master1192.168.67.140CentOS01
Slave1192.168.67.130CentOS02
Master2192.168.67.180CentOS04
Slave2192.168.67.190CentOS05

双主双从配置过程

一、双主机配置

1、Master1节点配置

修改配置文件:vim /etc/my.cnf,主要修改内容如下:

#主服务器唯一ID 
server-id=1
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个) 
binlog-ignore-db=mysql
binlog-ignore-db=information_schema 
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT
# 在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535 
auto-increment-increment=2
# 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535 
auto-increment-offset=1

2、Master2配置

修改配置文件:vim /etc/my.cnf,主要修改内容如下:

#主服务器唯一ID 
server-id=3
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个) 
binlog-ignore-db=mysql
binlog-ignore-db=information_schema 
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT
# 在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535 
auto-increment-increment=2
# 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535 
auto-increment-offset=2
二、双从机配置

1、Slave1配置

修改配置文件:vim /etc/my.cnf,主要修改内容如下:

#从服务器唯一ID 
server-id=2
#启用中继日志
relay-log=mysql-relay

2、Slave2配置

修改配置文件:vim /etc/my.cnf,主要修改内容如下:

#从服务器唯一ID 
server-id=4
#启用中继日志
relay-log=mysql-relay
三、双主机、双从机重启mysql服务
四、主机从机都关闭防火墙
五、在两台主机上建立帐户并授权slave
#在主机MySQL里执行授权命令
grant replication slave on *.* to ‘htzw2020’@‘192.168.67.%’ identified by ‘123456’;
#查询Master1的状态
show master status;
#查询Master2的状态
show master status;

分别记录下File和Position的值

在这里插入图片描述

在这里插入图片描述

执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

六、在从机上配置需求复制的主机

Slave1复制Master1,Slave2复制Master2

#复制主机的命令
mysql> CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_PORT='master_port'
MASTER_USER='replication_user_name',
MASTER_PASSWORD='replication_password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=xxx;

在这里插入图片描述

Slave1的复制命令如下

CHANGE MASTER TO
MASTER_HOST='192.168.67.140',
MASTER_PORT=3306,
MASTER_USER='htzw2020',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000036',
MASTER_LOG_POS=107;

Slave2的复制命令如下

CHANGE MASTER TO
MASTER_HOST='192.168.67.180',
MASTER_PORT=3306,
MASTER_USER='htzw2020',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000038',
MASTER_LOG_POS=107;

启动两台从服务器复制功能

start slave;

查看从服务器的状态

show slave status\G

Slave1的复制Master1

在这里插入图片描述

Slave2的复制Master2

在这里插入图片描述

下面两个参数都是Yes,则说明主从配置成功!

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

七、两个主机互相复制

Master2复制Master1,Master1复制Master2

Master2的复制命令如下

CHANGE MASTER TO
MASTER_HOST='192.168.67.140',
MASTER_PORT=3306,
MASTER_USER='htzw2020',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000036',
MASTER_LOG_POS=107;

Master1的复制命令如下

CHANGE MASTER TO
MASTER_HOST='192.168.67.180',
MASTER_PORT=3306,
MASTER_USER='htzw2020',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000038',
MASTER_LOG_POS=107;

启动两台主服务器复制功能

start slave;

查看两台主服务器的状态

show slave status\G

Master2的复制Master1

在这里插入图片描述

Master1的复制Master2

在这里插入图片描述

八、Master1主机新建库、新建表、insert记录,Master2和从机复制

在这里插入图片描述

九、如何停止从服务复制功能
stop slave;
十、如何重新配置主从
stop slave;
reset master;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值