linux mysql搭建双主双从

  1. 一个主机 m1 用于处理所有写请求,它的从机 s1 和另一台主机 m2 还有它的从机 s2 负责所有读请
    求。当 m1 主机宕机后,m2 主机负责写请求,m1、m2 互为备机。
    在这里插入图片描述
  2. 双主配置
    2.1.1 m1配置
修改配置文件:vim /etc/my.cnf


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

2.1.2 m2配置

修改配置文件:vim /etc/my.cnf


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

2.2 双从配置
2.2.1 s1配置

修改配置文件:vim /etc/my.cnf

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

2.2.2 s2配置

修改配置文件:vim /etc/my.cnf

#从服务器唯一ID
server-id=4 #启用中继日志
relay-log=mysql-relay
  1. 四台服务器都重启mysql
service mysql restart
  1. 主机从机都关闭防火墙
systemctl stop firewalld.service
  1. 停止主从复制(因为配置多单主单从,需要重新配置,如无,请忽略),然后在两台主机上建立帐户并授权 slave
# 启动mysql 输入密码
cd /usr/local/mysql
./bin/mysql -u root -p

stop slave; 
reset master;

# 执行在两台主机上建立帐户并授权 slave
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'root';
  1. 查询m1的状态
 show master status;

在这里插入图片描述

查询m2的状态

show master status;

在这里插入图片描述

分别记录下File和Position的值 执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

  1. 从机上配置需要复制的主机

s1 复制 m1

CHANGE MASTER TO MASTER_HOST='192.168.10.106',
MASTER_USER='slave',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=438;

在这里插入图片描述

s2 复制 m2

CHANGE MASTER TO MASTER_HOST='192.168.10.107',
MASTER_USER='slave',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;

在这里插入图片描述

  1. 启动两台从服务器复制功能
 start slave;

#查看从服务器状态

show slave status\G;

在这里插入图片描述
下面两个参数都是Yes,则说明主从配置成功!
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

  1. 两个主机互相复制
    m2 复制 m1,m1 复制 m2
CHANGE MASTER TO MASTER_HOST='192.168.10.106',
MASTER_USER='slave',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=438;
CHANGE MASTER TO MASTER_HOST='192.168.10.107',
MASTER_USER='slave',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;

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

start slave;

#查看从服务器状态

show slave status\G;
  1. 数据库验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值