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

双主双从 架构

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

其实和 一主一从的搭建很类似,可查看博文
https://blog.csdn.net/qq_41712271/article/details/114992971

唯一不同的,就是 两个主机 都 增加了 log-slave-updates选项 (在作为从数据库的时候,有写入操作也要更新二进制日志文件),
另外就是两个主机之间也要互相复制同步注意 ip,日志文件和同步位置 不要弄错

 

准备的机器如下 :  

 

角色 

IP地址

my.cnf文件中的 server-id

端口号

主机 1

Master1

172.16.208.2111

3306

从机 1

Slave1

172.16.208.2122

3306

主机 2

Master2

172.16.208.2133

3306

从机 2

Slave2

172.16.208.2144

3306

1 配置两台主机,注意server-id 不一样,其余都一样,所以只写了 Master1的配置

[mysqld]
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=blog
#设置logbin格式
binlog_format=STATEMENT

######################### 增加的选项 ######################### 
# 在作为从数据库的时候,有写入操作也要更新二进制日志文件 
log-slave-updates

2 配置两台从机,注意server-id 不一样,其余都一样,所以只写了 Slave1 的配置

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

双主机、双从机重启 mysql 服务

4 在两台主机上创建同步用的帐号和查询master的状态

# 创建同步数据的账户,并且进行授权操作
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'ProphetClouds.com2017';
 
# 刷新权限
flush privileges;
 
# 查询master的状态,记录下File和Position的值,执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化
show master status;

从机上配置需要复制的主机并启用同步,查询同步的状态,
注意
 ip,日志文件和同步位置 不一样,所以只写了 Slave1的命令 

Slave1 复制 Master1,
Slave2 复制 Master2

# 指定当前从库对应的主库的IP地址,用户名,密码,从哪个日志文件开始的那个位置开始同步推送日志。
CHANGE MASTER TO MASTER_HOST='172.16.208.211',
MASTER_USER='slave',
MASTER_PASSWORD='ProphetClouds.com2017',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=982;
 
# 启动同步
START SLAVE;
 
# 停止同步
STOP SLAVE;
 
# 查看同步状态,出现下面的截图,就成功了
SHOW SLAVE STATUS;

6 两个主机互相复制

Master2 复制 Master1,
Master1 复制 Master2

方法和步骤4,步骤5一样,注意 ip,日志文件和同步位置 不要弄错了

7 开始测试,注意上面的步骤都完成后才开始创建库,创建表,增删改查等,可以发现已经可以实现同步了

如果已经有数据库,并有表,表记录的话,先自行baidu解决,后期我也会研究研究

8 如果搭建失败,需要重新配置的话,可以执行下面的命令

### 在主机上执行 ###
# 停止同步
STOP SLAVE;
# 重置主机
RESET MASTER;

### 在从机上执行 ###
# 停止同步
STOP SLAVE;
# 重置从机
RESET SLAVE;


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值