mysql----搭建--双主双从,主从复制

搭建双主双从

一个主机 m1 用于处理所有写请求,它的从机 s1 和另一台主机 m2 还有它的从机 s2 负责所有读请
求。当 m1 主机宕机后,m2 主机负责写请求,m1、m2 互为备机。架构图如下

mysql----搭建--双主双从,主从复制_第1张图片

环境准备 4 台Linux虚拟机

编号 角色 地址 机器名
1 Master1 66.88.88.169 88.169
2 Slave1 66.88.88.170 88.170
3 Master2 66.88.88.171 88.171
4 Slave2 66.88.88.172 88.172
# 修改机器名
vi /etc/hostname
# 修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33

master1与slave1 、 master2与slave2 需要时主从关系
参考: 一主一从搭建地址 : https://blog.csdn.net/getchar97/article/details/105226359

参考配置

1、 双主机配置

①、Master1配置

server-id=1
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-do-db=需要复制的主数据库名字
binlog_format=STATEMENT


# 在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535
auto-increment-increment=2
# 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535
auto-increment-offset=1 

②、Master2配置

server-id=3
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-do-db=需要复制的主数据库名字
binlog_format=STATEMENT


# 在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535
auto-increment-increment=2
# 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535 , 考虑覆盖问题
auto-increment-offset=2

提示 : service_id 不能重复 ,

2、 双主机配置

①、Slave1配置

server-id=2
relay-log=mysql-relay

②、Slave2配置

server-id=4
#启用中继日志
relay-log=mysql-relay
3、双主机、双从机重启 mysql 服务
4、主机从机都关闭防火墙
5、在两台主机上建立帐户并授权 slave
#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123123';
#查询Master1的状态
show master status;

6、 在从机上配置需要复制的主机

Slava1 复制 Master1,Slava2 复制 Master2

#复制主机的命令
CHANGE MASTER TO MASTER_HOST='主机的IP地址',
MASTER_USER='slave',
MASTER_PASSWORD='123123',
MASTER_LOG_FILE='mysql-bin.具体数字',MASTER_LOG_POS=具体值;
#启动两台从服务器复制功能
start slave;
#查看从服务器状态
show slave status\G;
7、 两个主机互相复制
  • 与主从复制操作相同
8、 Master1 主机新建库、新建表、insert 记录,Master2 和从机复制
9、 如何停止从服务复制功能

stop slave;

10、 如何重新配置主从
stop slave;
reset master;

你可能感兴趣的:(Linux,软件记录)