麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
576
2023-05-02
Mysql群集架构mmm高可用群集及服务器上线
【引自攀岩人生的博客】MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。
优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。
缺点:monitor节点是单点,不过这个你也可以结合keepalived或者haertbeat做成高可用;至少三个节点,对主机的数量有要求,需要实现读写分离,还需要在前端编写读写分离程序。在读写非常繁忙的业务系统下表现不是很稳定,可能会出现复制延时、切换失效等问题。MMM方案并不太适应于对数据安全性要求很高,并且读、写繁忙的环境中。
二、部署实施
1、环境介绍
OS:centos7.2(64位)数据库系统: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进行安装相关的依赖包
安装perl相关的库
字有点小(cpan -i Algorithm::Diff Class::Singleton DBI DBD::mysql Log::Dispatch Log::Log4perl Mail::Send Net::ping Proc::Daemon Time::HiResParams::Validate Net::ARP)
在/etc/hosts里添加地址和主机名
测试能否ping通,进行通信
在master1中添加mysql /etc/my.cnf主配置参数文件
在master2中添加/etc/my.cnf主配置文件
在slave中添加/etc/my.cnf主配置文件
修改完后关闭防火墙,启动mysql服务
其余两台master2、slave按照上图执行
创建主从复制环境,master1是master2、slave的主,master2是master1的主
创建授权连接用户
两台master上都执行
查看master1的状态
在master2上建立连接实现主从复制
启动slave查看是否连接必须为yes
在slave上建立连接实现主从复制
把master2设为主跟上面的步骤一样,只需把ip地址改一下即可
下图是在master1上执行的
上面的已经把主主复制及主从复制做ok了
设置mysql-mmm
在master1上创建代理账号、创建监控账号,因为已经主从复制了就可以在主上面创建了,会同步的
查看那两台是否都存在监控和代理账号
qqq用户:mmm代理用来更改只读模式,复制的主服务器等
mysql-mmm安装
在montior主机上安装监控程序
安装下载后的包
在master1、master2、slave中安装代理
配置mmm,要求必须四台主机必须一样的配置文件
active_master_role writer
使用for循环语句分发给其他三台主机
代理文件需要在master1、master2、slave中修改/mmm_agent.conf
this后面添加本地主机名就可以了
启动代理进程 需要进入脚本/etc/init.d/mysql-mmm-agent脚本
把mmm添加为系统服务并设置为自启
能显示出来ok证明前面做的没有问题,在三台代理的主机都设置
编辑monitor主机的/etc/mysql-mmm/mmm_mon.conf
每个参数的意思
启动监控进程在/etc/init.d/mysql-mmm-monitor文件中添加
添加成系统服务并设置为自启动
chkconfig --add mysql-mmm-monitor chkconfig mysql-mmm-monitor on /etc/init.d/mysql-mmm-monitor start
把服务器上线
检查所有的db服务器群集状态
查看所有的群集状态
查看命令,监控命令参数有很多,可以从网上查找。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。