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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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使用5IP。每个单独的节点使用一个固定IP,这个固定IP永远不会变化。

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


正常情况下(没有复制失败,没有复制延迟等)活动的master有两个虚拟ip(readerwriter),备用的master有一个虚拟ip(reader),如果活动的master失败了,那么所有的readerwriter虚拟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



















本文转自李珣51CTO博客,原文链接:http://blog.51cto.com/lixun/1629177 ,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
9 4
|
4天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
4天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
33 2
|
8天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
14 1
|
8天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
25 0
|
11天前
|
关系型数据库 MySQL 数据库
docker自定义安装mysql 5.7
docker自定义安装mysql 5.7
19 0
|
11天前
|
关系型数据库 MySQL Linux
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
52 0
|
11天前
|
关系型数据库 MySQL Linux
win安装mysql5.7 和安装出现的问题
win安装mysql5.7 和安装出现的问题
12 0
|
23天前
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
102 1