位置: 编程技术 - 正文
推荐整理分享详解MySQL高可用MMM搭建方案及架构原理(mysql8高可用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql的高可用是什么,mysql8高可用,mysql 高可用性,mysql8高可用,mysql 高可用性,mysql 高可用性,mysql数据库高可用方案,mysql的高可用是什么,内容如对您有帮助,希望把文章链接给更多的朋友!
先来看看架构,如下图:
部署
1.修改hosts
在所有的服务器中执行相同的操作。
vim /etc/hosts
2.添加mysql用户
只需要在所有的数据库端执行即可,监控端不需要。
注意:repl用户在搭建主从服务的时候已经创建好了。
3.安装监控软件
注意:监控端全部安装,但是监控端只需要用到mysql-mmm-monitor,mysql-mmm-agent不需要启动。
数据库端只需要安装mysql-mmm-agent
1.在监控服务器执行
2.在数据库服务器上执行,每个数据库服务器上都要执行
路径说明:
4.配置文件
db服务器配置文件:mmm_agent.conf,mmm_common.conf
监控服务器的配置文件:mmm_mon.conf,mmm_common.conf(该文件所有服务器一样)
配置db服务器
1.修改master服务器
同时将这个文件拷贝到其它的服务器包括监控服务器,配置不变
2.代理文件配置
vim /etc/mysql-mmm/mmm_agent.conf
注意:这个配置只配置db服务器,监控服务器不需要配置,this后面的host名改成当前服务器的host命令,master2和slave也改成对应的服务器的host名。
3.启动代理进程
每台db服务器上都需要启动
配置监控服务器
注意:配置文件中的注释是为了便于理解,在部署的时候最好把注释去掉以免因为注释造成的潜在影响。
启动监控进程
注意:无论是在db端还是在监控端如果有对配置文件进行修改操作都需要重启代理进程和监控进程。
操作分析
日志文件
日志文件往往是分析错误的关键,所以要善于利用日志文件进行问题分析。
db端:/var/log/mysql-mmm/mmm_agentd.log
监控端:/var/log/mysql-mmm/mmm_mond.log
命令文件
mmm_agentd :db代理进程的启动文件
mmm_mond :监控进程的启动文件
mmm_backup :备份文件
mmm_restore :还原文件
mmm_clone
mmm_control:监控操作命令文件
db服务器端只有mmm_agentd程序,其它的都是在monitor服务器端。
mmm_control用法
mmm_control程序可以用于监控群集状态、切换writer、设置onlineoffline操作等。
1.检查所有的db服务器群集状态
检查项包括:ping、mysql是否正常运行、复制线程是否正常等
2.检查群集环境在线状况
3.对指定的host执行offline操作
4.对指定的host执行onine操作
5.执行write切换
1.查看当前的slave对应的master
2.writer切换,要确保mmm_common.conf文件中的writer属性有配置对应的host,否则无法切换
3.save从库自动切换到了新的master
其它处理问题
如果不想让writer从master切换到backup(包括主从的延时也会导致写VIP的切换),那么可以在配置/etc/mysql-mmm/mmm_common.conf时,去掉<role write>中的backup
这样的话当master出现故障了writer写操作不会切换到backup服务器,并且slave也不会指向新的master,此时当前的MMM之前对外提供写服务。
总结
主从的延时会导致写VIP的切换。
1.对外提供读写的虚拟IP是由monitor程序控制。如果monitor没有启动那么db服务器不会被分配虚拟ip,但是如果已经分配好了虚拟ip当monitor程序关闭了原先分配的虚拟ip不会立即关闭外部程序还可以连接访问(只要不重启网络),这样的好处就是对于monitor的可靠性要求就会低一些,目前还不知道能维持多长的时间,但是如果这个时候其中的某一个db服务器故障了就无法处理切换,也就是原先的虚拟ip还是维持不变,挂掉的那台DB的虚拟ip会变的不可访问。
2.agent程序受monitor程序的控制处理write切换,从库切换等操作。如果monitor进程关闭了那么agent进程就起不到什么作用,它本身不能处理故障。
3.monitor程序负责监控db服务器的状态,包括Mysql数据库、服务器是否运行、复制线程是否正常、主从延时等;它还用于控制agent程序处理故障。
4.monitor会每隔几秒钟监控db服务器的状态,如果db服务器已经从故障变成了正常,那么monitor会自动在s之后将其设置为online状态(默认是s可以设为其它的值),有监控端的配置文件参数“auto_set_online”决定,群集服务器的状态有三种分别是:HARD_OFFLINE→AWAITING_RECOVERY→online
5.默认monitor会控制mmm_agent会将writer db服务器read_only修改为OFF,其它的db服务器read_only修改为ON,所以为了严谨可以在所有的服务器的my.cnf文件中加入read_only=1由monitor控制来控制writer和read,root用户和复制用户不受read_only参数的影响
标签: mysql8高可用
本文链接地址:https://www.jiuchutong.com/biancheng/348213.html 转载请保留说明!友情链接: 武汉网站建设