1、工作逻辑图
2、MySQL-MMM优缺点
优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。
缺点:Monitor节点是单点,可以结合Keepalived实现高可用。
3、MySQL-MMM工作原理
MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的)。
mmm_mond:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。
mmm_agentd:运行在每个mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。
mmm_control:一个简单的脚本,提供管理mmm_mond进程的命令。
mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用mysql之上,当某一台mysql宕机时,监管会将VIP迁移至其他mysql。
在整个监管过程中,需要在mysql中添加相关授权用户,以便让mysql可以支持监理机的维护。授权的用户包括一个mmm_monitor用户和一个mmm_agent用户,如果想使用mmm的备份工具则还要添加一个mmm_tools用户。
4、需求描述
操作系统:CentOS 7.0_X64
数据库:MySQL 5.6
MMM:MySQL-MMM 2.2.1
5. 相关配置
db_monitor_1 下的配置
vim /etc/mysql-mmm/mmm_mon.conf
内容
include mmm_common.conf
ip 127.0.0.1
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.1.181, 192.168.1.182, 192.168.1.183, 192.168.1.184, 192.168.1.185, 192.168.1.86, 192.168.1.87, 192.168.1.88, 192.168.1.89
#Description: Default mode of monitor.
mode active
auto_set_online 10
monitor_user mmm_monitor
monitor_password 9*xiang@123
debug 0
vim /etc/mysql-mmm/mmm_common.conf
内容
active_master_role writer
cluster_interface eno16777984
pid_path /var/run/mmm_agentd.pid
bin_path /usr/lib/mysql-mmm/
replication_user replication
replication_password 9*xiang@123
agent_user mmm_agent
agent_password 9*xiang@123
ip 192.168.1.181
mode master
peer db2
ip 192.168.1.182
mode master
peer db1
ip 192.168.1.183
mode slave
ip 192.168.1.184
mode slave
ip 192.168.1.185
mode slave
hosts db1, db2
ips 192.168.1.89
mode exclusive
hosts db3, db4, db5
ips 192.168.1.86, 192.168.1.87, 192.168.1.88
mode balanced
db_monitor_1下的相关命令
相关命令
systemctl start mysql-mmm-monitor.service
systemctl stop mysql-mmm-monitor.service
/etc/init.d/mysql-mmm-monitor start(不再使用)
mmm_control show
数据库分配: