专栏首页李珣Microsoft Azure部署MYSQL-MMM(1)安装MYSQL

Microsoft Azure部署MYSQL-MMM(1)安装MYSQL

MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。

MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。

MMM项目来自 Google:http://code.google.com/p/mysql-master-master

官方网站为:http://mysql-mmm.org

Mmm主要功能由下面三个脚本提供

l         mmm_mond  负责所有的监控工作的监控守护进程,决定节点的移除等等

l         mmm_agentd  运行在mysql服务器上的代理守护进程,通过简单远程服务集提供给监控节点

l         mmm_control  通过命令行管理mmm_mond进程

在两个节点的master-master环境下,MMM使用5个IP。每个单独的节点使用一个固定IP,这个固定IP永远不会变化。

2个reader IPs(read-only)和一个writer IP(updates),后面三个IP(2个reader IP和一个Writer IP)在两个节点之间迁移,如何迁移取决于节点的可用性。

正常情况下(没有复制失败,没有复制延迟等)活动的master有两个虚拟ip(reader和writer),备用的master有一个虚拟ip(reader),如果活动的master失败了,那么所有的reader和writer虚拟IP都会被分配给备用的master。

具体的配置信息如下所示:

角色                    ip地址          主机名字                server-id

monitoring           10.0.0.6         monitor                      -

master1              10.0.0.4         db1                      1

master2              10.0.0.5         db2                      2

slave1               10.0.0.7         db3                      3

业务中的服务ip信息如下所示:

ip地址                  角色                    描述

10.0.0.80           write           应用程序连接该ip对主库进行写请求

10.0.0.90            read            应用程序连接该ip进行读请求

10.0.0.100            read            应用程序连接该ip进行读请求

部署架构如下图:

MySQL-MMM优缺点

优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。

缺点:Monitor节点是单点,可以结合Keepalived实现高可用。

具体的部署步骤如下:

(1)主机配置

在Azure中创建一个虚拟网络,然后在库中创建虚拟机,选择基于CENTOS Openlogic 6.5

PS:由于MMM的监控机制需要检查PING,请确保所有虚拟机在一个VNET下。

同时完成四台虚拟机的创建,分别是master1、master2、slave、monitor,如下图:

使用那个Xshell连接到VM

首先获取root权限并修改root密码,如下操作

Sudo su -

输入密码

Passwd root

在每一台服务器上用yum命令安装MYSQL服务

# yum install mysql-server

安装完成后重启MYSQL服务

# service mysqld restart

连接到mysql,修改mysql root密码,如下操作:

# mysql -uroot

use mysql

update user set password=password('p@ssw0rd') where user='root';

flush privileges;

select user,host,password from mysql.user

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Microsoft Azure部署MYSQL-MMM(2)配置主主复制

    在db1(master1)、db2(master2)、db3(slave)上编译my.conf

    李珣
  • Exchange 2010 UM角色安装后无法启动服务,错误 1000,1001

    错误应用程序名称: UMworkerprocess.exe,版本: 14.2.247.1,时间戳: 0x4ea33a96 错误模块名称: Microsoft...

    李珣
  • SCOM 2012 R2监控Microsoft Azure服务(2)配置Azure监控

    上一篇文章介绍了如何添加Azure管理包,并配置Azure订阅进行管理。但配置完成后,SCOM还无法对Azure的云、存储、虚拟机进行监控,那么本章内容就会进行...

    李珣
  • ES选举-类Bully算法

    YG
  • HDUOJ---Hamming Distance(4712)

    Hamming Distance Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/6...

    Gxjun
  • 【编程练习】poj1068

    Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in...

    流川疯
  • 错误的将int定义为Integer造成程序无限执行下去,被骂惨

    前言:春节期间,坐在公司加班,本以为可以坐在那看看日志,打打游戏,聊会天一天就过去了,突然加群里我,为什么我的任务执行了快一上午了,怎么还是处理中。

    良月柒
  • 迷宫问题的简单栈实现

    以一个n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。

    glm233
  • LightOJ - 1197 区间素数筛模版

    给t给样例,每个样例a,b两个数,求区间[a,b]内素数的个数,(1 ≤ a ≤ b < 2^31, b - a ≤ 100000).

    用户2965768
  • 分数线划定

    世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根...

    用户7727433

扫码关注云+社区

领取腾讯云代金券