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

news/2023/6/8 6:20:43

双主双从 架构

一个主机 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;


 


https://dhexx.cn/news/show-17517.html

相关文章

云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释。 “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增,到达HTTP.…

mycat 分片规则-取模分片 mod-long

为方便测试,本实例在以下案例中测试https://blog.csdn.net/qq_41712271/article/details/114984855?spm1001.2014.3001.5501 原理 取余分片方式:分片键(一个列)与节点数量进行取余,得到余数,将数据写入对应…

微信公众帐号开发之一(java)

闲来没事,就记录一下微信公众平台的开发吧~ 其实微信公众平台开发没有想象中的那么困难,因为注册了微信公众平台帐号登录之后在开发者模式里有详细的文档,个人感觉介绍还是比较详细的。 微信公众平台订阅号和服务号的区别网上已经有N多的介绍…

mycat 分片规则-枚举分片-hash-int

为方便测试,本实例在以下案例中测试https://blog.csdn.net/qq_41712271/article/details/114984855?spm1001.2014.3001.5501 通过在配置文件中配置可能的枚举值, 指定数据分布到不同数据节点上, 本规则适用于按照省份或状态拆分数据等业务 , 配置如下: 1 schema…

mycat 分片规则-范围求模算法-auto-sharding-rang-mod

为方便测试,本实例在以下案例中测试https://blog.csdn.net/qq_41712271/article/details/114984855?spm1001.2014.3001.5501 该算法为先进行范围分片, 计算出分片组 , 再进行组内求模。 优点: 综合了范围分片和求模分片的优点。 分片组内使用求模可以…

input 类型总结

在表单中input是拥有类型最多的元素,在这总结一下。 typetext 输入类型是text,这是我们见的最多也是使用最多的,比如登陆输入用户名,注册输入电话号码,电子邮件,家庭住址等等。当然这也是Input的默认类型。…

springboot整合websocket最基础入门使用(原生API方式)

项目最终的文件结构 1 添加maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> <dependency><groupId>org.projectlombok</groupI…

WinForm实现类似QQ停靠,显示隐藏过程添加特效效果

WinForm实现类似QQ停靠&#xff0c;显示隐藏过程添加特效效果 原文:WinForm实现类似QQ停靠&#xff0c;显示隐藏过程添加特效效果这可能是个老题长谈的问题了&#xff0c;只是在项目中会用到这个效果&#xff0c;所以今天做个记录。大家见了别喷我。在项目中的需求是这样的。 打…

Nginx简介

背景介绍Nginx&#xff08;"engine X"&#xff09;一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】&#xff0c;同时也是一个【POP3/SMTP?IMAP代理服务器】&#xff0c;是由伊戈尔赛索耶夫&#xff08;俄罗斯人&#xff09;使用C语言编写的&#xff0c;Ngin…

springboot整合websocket基础入门,常见注解使用 Demo (基于stomp协议发布订阅方式实现)

基于发布&#xff0c;订阅&#xff0c;主题 模式&#xff0c;实现原理图 1 项目最终的结构图&#xff0c;源码示例下载https://download.csdn.net/download/qq_41712271/16107255 2 maven依赖&#xff0c;springboot 版本 1.5.8.RELEASE &#xff0c;太高的版本会涉及到跨域问题…