Mysql MMM架构

本文详细介绍了MySQL MMM架构,用于管理双主复制并实现故障切换。MMM使用Perl开发,支持双主故障切换和读负载均衡。文章涵盖MMM的安装、配置、主机角色设置、监控用户创建以及高可用性测试,适合对数据一致性要求不那么严格的应用场景。
摘要由CSDN通过智能技术生成

1. 简介

  1. MMM(Master-Master replication manager for Mysql)是一套支持双主故障切换和双主日常管理的脚本程序。
  2. MMM是使用perl语言进行开发,主要用来管理Mysql Master-Master(双主复制)。
  3. 双主复制:虽然是双主,但业务上只能同时对一个主进行写入,另一台为备选主,平时提供部分读服务,当写入主出现故障时,则会自动切换到这个主进行写入。
  4. MMM不仅实现了,双主故障切换的功能,内部附加组件还可以实现多个slave的read负载均衡。
  5. MMM提供了手动和自动两种方式来移除一组服务器中复制延迟较高的服务器的虚拟ip。
  6. MMM同时可以实现数据备份的功能,实现两节点的数据同步。
  7. MMM无法保证数据一致性,所以它适用于数据一致性不太严的场景。
  8. 对于要求数据一致性非常高的应用,不建议采用MMM架构。

2. 网址

  1. MMM项目来自于Google:http://code.google.com/p/mysql-master-master
  2. 官方网址为:http://mysql-mmm.org

3. 具体配置

1. 主机角色和IP配置,这里注意,虚拟IP尽量要和主机IP在同一个网段,不然可能会ping不通虚拟IP
角色 IP地址 虚拟IP 主机名字 server-id 读写操作
monitoring 192.168.111.128 192.168.111.10 db2
master1 192.168.111.128 192.168.111.10 db1 1 write
master2 192.168.111.129 192.168.111.20 db2 2 read
slave1 192.168.111.130 192.168.111.30 db3 3 read
2.主机配置,配置/etc/hosts,在所有主机中,添加所有主机信息:
root@localhost two]# cat /etc/hosts

192.168.111.128 db1
192.168.111.129 db2
192.168.111.130 db3

[root@localhost two]# 
3. 在三台主机上安装mysql和主从复制,db1和db2互为主从,db3为db1的从

db1配置如下
[mysqld]
server-id=1
log_slave_updates=1
auto-increment-increment=2
auto-increment-offset=1
binlog-do-db=myblog
log-bin=mysql-bin

db2配置如下
[mysqld]
server-id=2
binlog-do-db=myblog
log_slave_updates=1
auto-increment-increment=2
auto-increment-offset=2
log-bin=mysql-bin

db3配置如下:
[mysqld]
server-id=3

4. 安装MMM所需要的perl模块,所有的主机都要安装,命令如下
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install mysql-mmm*
5. 下载mysql-mmm软装,在所有主机上安装,在所有主机上执行如下命令
 wget http://mysql-mmm.org/_media/:mmm2:mysql-mmm-2.2.1.tar.gz

 mv :mmm2:mysql-mmm-2.2.1.tar.gz mysql-mmm-2.2.1.tar.gz
 tar xf mysql-mmm-2.2.1.tar.gz 
 cd  mysql-mmm-2.2.1
 make install
6. mysql-mmm安装后的主要拓扑结构如下所示(注意:yum安装的和源码安装的路径有所区别):
        目录                      |         介绍   

————————————–|——————————————————-
/usr/lib/perl5/vendor_perl/5.8.8/MMM | MMM使用的主要perl模块
/usr/lib/mysql-mmm | MMM使用的主要脚本
/usr/sbin | MMM使用的主要命令的路径
/etc/init.d/ | MMM的agent和monitor启动服务的目录
/etc/mysql-mmm | MMM配置文件的路径,默认所以的配置文件位于该目录下
/var/log/mysql-mmm | 默认的MMM保存日志的位置

到这里MMM已经安装完成,接下来就是要配置MMM了,其中mmm_common.conf和mmm_agent.conf为agent端的配置文件。
mmm_mon.conf为monitor端的配置文件。

7. 配置agent端的配置文件,要在db1,db2,db3分别配置。

在db1上配置agent配置文件如下:

[root@localhost sbin]# cd /etc/mysql-mmm
[root@localhost mysql-mmm]# cat mmm_common.conf
active_master_role  writer


<host default>
    cluster_interface       eth0

    pid_path                /var/run/mmm_agentd.pid
    bin_path                /usr/lib/mysql-mmm/

    replication_user        repl
    replication_password    123456 
    agent_user              mmm_agent
    agent_password          mmm_agent
</host>

<host db1>
    ip                      192.168.111.128
    mode                    master
    peer                    db2
</host>

<host db2>
    ip                      192.168.111.129
    mode                    master
    peer                    db1
</host>

<host db3>
    ip                      192.168.111.130
    mode                    slave
</host>


<role 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值