mysql MMM详解
来源:互联网 发布:学服装设计的软件 编辑:程序博客网 时间:2024/06/05 08:10
master-master monitor(MMM)
一、MMM简介
MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。 官网安装步骤:http://mysql-mmm.org/mmm2:guide 下载地址:http://mysql-mmm.org/downloads
二、MMM基本构架及实现原理
主要的思想还是主从复制,然后再多设置一个master来备用。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用户。
三、MMM的优缺点
优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。
缺点:Monitor节点是单点,可以结合Keepalived实现高可用。
MMM安装
一、安装准备工作
服务器:
ips:192.168.1.5(写)、192.168.1.10(读)
系统:centos6.5
二、安装Mysql
略
三、配置复制
配置DB1与DB2进行主主复制。
配置DB1(master)与DB3(slave)进行主从复制。
详情请参考:http://blog.csdn.net/hubo890224/article/details/50010143
四、配置用户
每个数据库上都需要三个用户:
GRANT REPLICATION CLIENT ON . TO ‘mmm_monitor’@’192.168.1.%’ IDENTIFIED BY ‘monitor_password’;
GRANT SUPER, REPLICATION CLIENT, PROCESS ON . TO ‘mmm_agent’@’192.168.1.%’ IDENTIFIED BY ‘agent_password’;
GRANT REPLICATION SLAVE ON . TO
‘replication’@’192.168.1.%’ IDENTIFIED BY ‘replication_password’;
五、安装MMM
用yum安装时需要epel源,安装配置方法:
http://blog.csdn.net/hubo890224/article/details/50008201
1、DB1、DB2、DB3安装mysql-MMM-agent
yum install -y mysql-mmm-agent
2、monitor安装mysql-mmm-monitor
yum -y install mysql-mmm-monitor
六、配置MMM
1、配置DB1、DB2、DB3、monitor中的 /etc/mysql-mmm/mmm_common.conf
active_master_role writer<host default> cluster_interface eth0 pid_path /var/run/mmmd_agent.pid bin_path /usr/lib/mysql-mmm/ replication_user replication replication_password replication_password agent_user mmm_agent agent_password agent_password</host><host db1> ip 192.168.1.238 mode master peer db2</host><host db2> ip 192.168.1.239 mode master peer db1</host><host db3> ip 192.168.1.13 mode slave</host>#<host db4># ip 192.168.1.14# mode slave#</host><role writer> hosts db1, db2 ips 192.168.1.5 mode exclusive</role><role reader> hosts db3 ips 192.168.1.10 mode balanced</role>
2、分别配置DB1、DB2、DB3中的 /etc/mysql-mmm/mmm_agent.conf
DB1:
include mmm_common.confthis db1
DB2:
include mmm_common.confthis db2
DB3:
include mmm_common.confthis db3
3、配置monitor主机中的 /etc/mysql-mmm/mmm_mon.conf文件:
include mmm_common.conf<monitor> ip 127.0.0.1 pid_path /var/run/mmmd_mon.pid bin_path /usr/lib/mysql-mmm/ status_path /var/lib/misc/mmmd_mon.status ping_ips 192.168.1.238,192.168.1.239,192.168.1.13</monitor><host default> monitor_user mmm_monitor monitor_password monitor_password</host>debug 0
七、启动MMM
在DB1/DB2/DB3上执行:
/etc/init.d/mysql-mmm-agent start
在monitor上执行
/etc/init.d/mysql-mmm-monitor start
查看状态(monitor):
mmm_control show
查看检测状态:
mmm_control checks
八、测试MMM
停止238上的mysql并查看是否会切换至239上。
相关文章:
使用MySQL-MMM时遇到的一些问题http://sofar.blog.51cto.com/353572/1603111
MMM监控端启动流程 http://blog.itpub.net/26250550/viewspace-1094480/
mysql-mmm有关mmm_control 参数测试
http://blog.csdn.net/wulantian/article/details/8137823
了解mysql-mmm的6种状态及转变原因 http://blog.chinaunix.net/uid-16844903-id-3049196.html
- mysql MMM详解
- mysql-mmm架构深度详解
- 从零开始配置MySQL MMM
- MySQL MMM Install Deploy
- mysql-mmm环境搭建
- mysql MMM方案
- MMM 之 MySQL
- MySQL 高可用MMM
- 从零开始配置MySQL MMM
- MMM for MySQL FAQ
- mysql-mmm实战安装
- MySQL MMM架构搭建
- Mysql-mmm 架构部署
- Mysql MMM架构
- MySQL-MMM框架
- mysql-mmm框架2
- Mysql架构MMM,MHA
- mysql 整理之mysql MMM
- 香港&韩国比较快的 DNS地址
- Mysql 对满足一定条件的 计数 常用的一条sql
- Environment类
- 从ViewRootImpl类分析View绘制的流程
- WIN10下安装USB转串口驱动出现“文件的哈希值不在指定的目录”的解决办法
- mysql MMM详解
- Find the k-th smallest element
- 如何获取input radio选中的值。
- 第13周、项目—验证算法 (4)
- OkHttp完全解析(一)OkHttp简介
- UIGraphicsBeginImageContext系列知识
- java向上转型和向下转型
- Codeforces Round #333 (Div. 2)B. Approximating a Constant Range(ST+二分||set暴力)
- Mac 和 Windows 文件相互共享