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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

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 ,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
161 4
MySQL源码编译安装
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
185 4
MySQL二进制包安装
|
1月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
291 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
1月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
151 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
259 5
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
307 4
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
本文详细介绍了在Ubuntu 24.04、22.04、20.04及Debian 12系统上,通过离线DEB包安装MySQL 8.0和8.4版本的完整步骤。涵盖下载地址、依赖处理、dpkg安装顺序、配置方法及服务启动验证,确保用户可顺利部署MySQL数据库。
404 0
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
|
1月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
417 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
1月前
|
Oracle 关系型数据库 MySQL
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
本文详细介绍在Rocky、CentOS、AlmaLinux、openEuler等主流Linux系统上,通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,涵盖下载、依赖处理、rpm/yum安装、服务启动、密码设置等关键环节,适用于多种企业级环境部署需求。
507 0
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)

推荐镜像

更多