mysql 群集架构mmm高可用群集及服务器上线
admin
2023-03-18 09:01:37
0

MMMMulti-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。

优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。

缺点:monitor节点是单点,不过这个你也可以结合keepalived或者haertbeat做成高可用;至少三个节点,对主机的数量有要求,需要实现读写分离,还需要在前端编写读写分离程序。在读写非常繁忙的业务系统下表现不是很稳定,可能会出现复制延时、切换失效等问题。MMM方案并不太适应于对数据安全性要求很高,并且读、写繁忙的环境中。

二、部署实施

1、环境介绍

OS:centos7.264位)数据库系统:mysql5.7.13   关闭selinux

主机

Ip

Hostname

Server--id

Master1

192.168.119.129

Master1

1

Master2

192.168.119.130

Master2

2

Slave

192.168.119.131

Slave

3

Montior

192.168.119.132

Montior

4

使用yum进行安装相关的依赖包

mysql 群集架构mmm高可用群集及服务器上线 

安装perl相关的库

mysql 群集架构mmm高可用群集及服务器上线 字有点小(cpan -i Algorithm::Diff Class::Singleton DBI DBD::mysql Log::Dispatch Log::Log4perl Mail::Send Net::ping Proc::Daemon Time::HiResParams::Validate Net::ARP

mysql 群集架构mmm高可用群集及服务器上线 

/etc/hosts里添加地址和主机名

mysql 群集架构mmm高可用群集及服务器上线 

测试能否ping通,进行通信

mysql 群集架构mmm高可用群集及服务器上线 

mysql 群集架构mmm高可用群集及服务器上线 

mysql 群集架构mmm高可用群集及服务器上线 

master1中添加mysql   /etc/my.cnf主配置参数文件

mysql 群集架构mmm高可用群集及服务器上线 

master2中添加/etc/my.cnf主配置文件

mysql 群集架构mmm高可用群集及服务器上线 

slave中添加/etc/my.cnf主配置文件

mysql 群集架构mmm高可用群集及服务器上线 

修改完后关闭防火墙,启动mysql服务

mysql 群集架构mmm高可用群集及服务器上线 

其余两台master2slave按照上图执行

创建主从复制环境,master1master2slave的主,master2master1的主

创建授权连接用户

mysql 群集架构mmm高可用群集及服务器上线 

两台master上都执行

查看master1的状态

mysql 群集架构mmm高可用群集及服务器上线 

master2上建立连接实现主从复制

mysql 群集架构mmm高可用群集及服务器上线 

启动slave查看是否连接必须为yes

mysql 群集架构mmm高可用群集及服务器上线 

slave上建立连接实现主从复制

mysql 群集架构mmm高可用群集及服务器上线 

master2设为主跟上面的步骤一样,只需把ip地址改一下即可

下图是在master1上执行的

mysql 群集架构mmm高可用群集及服务器上线 

上面的已经把主主复制及主从复制做ok

设置mysql-mmm

master1上创建代理账号、创建监控账号,因为已经主从复制了就可以在主上面创建了,会同步的

mysql 群集架构mmm高可用群集及服务器上线 

查看那两台是否都存在监控和代理账号

mysql 群集架构mmm高可用群集及服务器上线 

www用户:mmm监控用于对mysql服务器进程健康检查

qqq用户:mmm代理用来更改只读模式,复制的主服务器等

mysql-mmm安装

montior主机上安装监控程序

mysql 群集架构mmm高可用群集及服务器上线 安装下载后的包

mysql 群集架构mmm高可用群集及服务器上线 

master1master2slave中安装代理

mysql 群集架构mmm高可用群集及服务器上线 

配置mmm,要求必须四台主机必须一样的配置文件

安装后的所有配置文件都存放在/etc/mysql-mmm/下面,管理和数据库服务器上都要包含一个共同的文件mmm_common.cof,配置文件如下:

active_master_role      writer

        cluster_interface               eno16777736

        pid_path                                /var/run/mmm_agentd.pid

        bin_path                                /usr/lib/mysql-mmm/

   replication_user                       rep

   replication_password                   123

        agent_user                      qqq

        agent_password                  123

        ip                                      192.168.119.129

        mode                                   master

        peer                                    master2

        ip                                      192.168.119.130

        mode                                   master

        peer                                    master1

        ip                                      192.168.119.131

        mode                                   slave

        hosts                                   master1,master2                                                                 

       ips                                      192.168.119.10

        mode                                   exclusive

        hosts                                   master1,master2, slave

        ips                                     192.168.119.11,192.168.119.22,192.168.119.33

        mode                                   balanced

使用for循环语句分发给其他三台主机

mysql 群集架构mmm高可用群集及服务器上线 

代理文件需要在master1master2slave中修改/mmm_agent.conf

mysql 群集架构mmm高可用群集及服务器上线 

this后面添加本地主机名就可以了

启动代理进程   需要进入脚本/etc/init.d/mysql-mmm-agent脚本

mysql 群集架构mmm高可用群集及服务器上线 

mmm添加为系统服务并设置为自启

mysql 群集架构mmm高可用群集及服务器上线 

能显示出来ok证明前面做的没有问题,在三台代理的主机都设置

编辑monitor主机的/etc/mysql-mmm/mmm_mon.conf

mysql 群集架构mmm高可用群集及服务器上线 

每个参数的意思

ip     127.0.0.1   设置只在本机监听,mmm_mond默认监听9988

pid_path    /var/run/mmm_mond.pid

bin_path    /usr/lib/mysql-mmm/

status_path  /var/lib/misc/mmm_mond.status

ping_ips  192.168.119.129,192.168.119.130,192.168.119.131  用于测试网络可用性 IP 地址列表

auto_set_online  0             设置自动online的时间默认是60s

check_period   5           检查周期默认为5s

trap_period   10           一个节点被检测不成功的时间持续trap_period

timeout      2            检查超时的时间

restart_after   10000     在完成restart_after次检查后,重启checker进程默认值:10000

max_backlog   86400     记录检查rep_backlog日志的最大次数

monitor_user  www         监控db服务器的用户

monitor_password  123      监控db服务器的密码

debug  0                  debug 0正常模式,1debug模式

启动监控进程在/etc/init.d/mysql-mmm-monitor文件中添加

mysql 群集架构mmm高可用群集及服务器上线 

添加成系统服务并设置为自启动

chkconfig --add mysql-mmm-monitor

chkconfig mysql-mmm-monitor on

/etc/init.d/mysql-mmm-monitor start

把服务器上线

mysql 群集架构mmm高可用群集及服务器上线 

检查所有的db服务器群集状态

mysql 群集架构mmm高可用群集及服务器上线 

查看所有的群集状态

mysql 群集架构mmm高可用群集及服务器上线 

查看命令,监控命令参数有很多,可以从网上查找。


相关内容

热门资讯

中国移动发布Token运营生态... 5月8日,中国移动在2026移动云大会期间举办“词元聚力 智享未来”Token运营发展论坛,联合腾讯...
台当局滥发文化补助,涉事歌词低... 叶元之海峡导报综合报道 台民意机构“教育及文化委员会”7日邀台当局文化主管部门进行业务报告并备询,国...
国乒男女团今天冲冠,一起迎战日... 北京时间5月10日(星期日),2026伦敦世乒赛团体赛决赛将迎来巅峰对决,男团、女团决赛将分别进行,...
瑞幸,杀到农夫山泉家门口 便利店的饮料货架上,出现了瑞幸这个熟悉又陌生的名字。近日,瑞幸正式推出全新瓶装即饮咖啡,一口气上架生...
浙江多地结婚登记预约爆满 “520”马上要来了,这一天因谐音“我爱你”成为许多新人眼中登记结婚的“良辰吉日”,目前,多地“52...
用多种假身份围猎涉密人员,国安... 国家安全部今天发布安全提示文章。“热心朋友”“高薪雇主”“灵魂伴侣”这些词汇看似温暖,其实可能是境外...
事关互联网信贷,蚂蚁、腾讯、抖... 5月9日晚间,记者从中国互联网金融协会获悉,近日,中国互联网金融协会互联网贷款自律工作委员会筹备组第...
有维修师傅回答下网上买的鞋柜怎... 网上买的那种组装鞋柜非常便宜,不过木板的质量也是比较差的,买到手之后大家会发现,这些组装鞋柜的木板非...
热水器功率p1p2p3选哪一个 P3的加热功率最大的,即最快的。保温是一样的,p1p2p3是选择的加热功率不同档位。代表不同的功率,...
阳台晾衣架手摇器坏了怎么修 阳台晾衣架手摇器坏了,可能是由于多种原因导致的,以下是一些常见的修理方法:1. 检查手摇器内部结构:...