Centos 7 MYSQL-MMM高可用

Centos 7 MYSQL-MMM高可用

操作环境:

虚拟机:5台
双网卡 第一块内网,第二块外网(虚拟机一定要能上网)
192.168.80.100 主数据库1
192.168.80.101 主数据库2
192.168.80.102 从数据库1
192.168.80.103 从数据库2
192.168.80.104 监控端 monitor
5台虚拟机的防火墙一定要关:systemctl stop firewalld
setenforce 0

1、搭建阿里云yum仓库:

[Ali]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

2、四台数据库服务器,安装以下程序
yum install -y wget --安装下载工具
wget -O /etc/yum.repos.d/ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo --下载aliyun的网络yum源
yum -y install epel-release --安装官方源
yum clean all && yum makecache --清除yum仓库缓存,在重建yum仓库
yum -y install mariadb-server mariadb --安装mariadb

3、操作主数据库1
vi /etc/my.cnf

[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=/var/lib/mysql_slow_queris.log
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1
log_slave_updates
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

systemctl start mariadb --启动mariadb数据库
netstat -anpt | grep 3306

把配置文件复制到其它3台数据库服务器上并启动服务器(这里根据自己的实际情况)
提示:当你发送到目标主机后,它会把你原有内容覆盖掉。

scp /etc/my.cnf [email protected]:/etc/
scp /etc/my.cnf [email protected]:/etc/
scp /etc/my.cnf [email protected]:/etc/
mysqladmin -u root -p password "123"   --给mysql设置用户名和密码
mysql    -uroot  -p123   --进入数据库,如果没有给mysql设置密码直接输入mysql即可


grant replication slave on *.* to ‘myslave‘@‘192.168.80.%‘ identified by ‘123; --授予mysalve用户读取二进制文件

show master status \G --查看master状态

4、操作主数据库2
vi /etc/my.cnf --修改一下Server-id,每台数据库Server-id不能一样

service mariadb restart --重启数据库

mysqladmin -u root -p password "123"   --给mysql设置用户名和密码
mysql    -uroot  -p123   --进入数据库,如果没有给mysql设置密码直接输入mysql即可

grant replication slave on *.* to ‘replication‘@‘192.168.80.%‘ identified by ‘123‘;
change master to master_host=‘192.168.80.100‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql_bin.000001‘,master_log_pos=490; 提示:master_log_file=‘mysql_bin.000001‘,master_log_pos=490 这个参数是根据你的主数据库1 master状态 ,每个人的都不一样,根据自己的改。

start slave; --开启同步
show slave status \G --查看slave状态,根据截图效果
提示:根据红圈的内容,查看是否成功,成功只为YES

show master status \G --查看master状态

5、操作主数据库1
mysql -uroot -p123 --进入数据库
change master to master_host=‘192.168.80.101master_user=‘myslave‘,master_password=‘123‘,master_log_file=‘mysql_bin.000004‘,master_log_pos=1098;
提示:master_log_file=‘mysql_bin.000004‘,master_log_pos=1098 这个参数是根据你的主数据库2 master状态 ,每个人的都不一样,根据自己的改。

start slave; --启动同步
show slave status \G --查看slave状态
提示:根据红圈的内容,查看是否成功,成功只为YES

6、操作从数据库1
vi /etc/my.cnf --修改一下Server-id,每台数据库Server-id不能一样

systemctl start mariadb --启动mariadb数据库

mysqladmin -u root -p password "123"   --给mysql设置用户名和密码
mysql    -uroot  -p123   --进入数据库,如果没有给mysql设置密码直接输入mysql即可

start slave; --启动同步
show slave status \G --查看slave状态,根据截图效果
提示:根据红圈的内容,查看是否成功,成功只为YES

7、操作从数据库2
vi /etc/my.cnf --修改一下Server-id,每台数据库Server-id不能一样

systemctl start mariadb --启动mariadb数据库

mysqladmin -u root -p password "123"   --给mysql设置用户名和密码
mysql    -uroot  -p123   --进入数据库,如果没有给mysql设置密码直接输入mysql即可

start slave; --启动同步
show slave status \G --查看slave状态,根据截图效果
提示:根据红圈的内容,查看是否成功,成功只为YES

8、否实现主主备份主从同步
在主数据库1上创建一个aa数据库,查看主数据库2是否备份成功,从数据库1和从数据库2是否同步成功。
192.168.80.101

192.168.80.102

192.168.80.103

9、安装MMM----在所有服务器上安装-----注意,epel源要配置好
yum -y install mysql-mmm* --五台虚拟机都要安装监控软件

操作主数据库1
cd /etc/mysql-mmm/

vi mmm_common.conf
提示:红 圈处是要修改的内容


发送给其他数据库服务器

 scp mmm_common.conf [email protected]:/etc/mysql-mmm/
 scp mmm_common.conf [email protected]:/etc/mysql-mmm/
 scp mmm_common.conf [email protected]:/etc/mysql-mmm

10、在monitor服务器上配置:192.168.80.104
cd /etc/mysql-mmm/
vi mmm_mon.conf
提示:修改红线的内容

11、5台服务器统一操作
vi /etc/mysql-mmm/mmm_agent.conf

主数据库1:this db1
主数据库2:this db2
从数据库1:this db3
从数据库2:this db4
monitor服务器:this db5

是在各自的配置文件修改,不是在一个虚拟机,每个虚拟机都要执行的操作。

在四台数据库中为mmm_agent授权
grant super, replication client, process on *.* to ‘mmm_agent‘@‘192.168.80.%‘ identified by ‘123‘;

grant replication client on *.* to ‘mmm_monitor‘@‘192.168.80.%‘ identified by ‘123‘;

systemctl start mysql-mmm-agent

12、在monitor服务器上配置:
vi /etc/mysql-mmm/mmm_mon.conf

systemctl start mysql-mmm-monitor //启动mysql-mmm-monitor

netstat -anp | grep 9988

mmm_control checks all

mmm_control show

13、查看是否有漂移地址
主数据库1

从数据库1

从数据库2

模拟主数据库1,从数据库1故障,查看漂移地址是否从主数据库1漂移到主数据库2,和从数据库1的地址漂移到从数据库2上去
主数据库1
systemctl stop mariadb
主数据库2

从数据库1
systemctl stop mariadb
从数据库2

原文地址:http://blog.51cto.com/13701082/2343576

时间: 2024-08-30 12:35:54

Centos 7 MYSQL-MMM高可用的相关文章

CentOS 搭建 Mysql MMM 高可用架构

环境 CentOS Mysql 5.1 前提 安装了EPEL,详细安装步骤请參照 http://blog.csdn.net/robinsonmhj/article/details/36184863 机器列表 机器IP 机器名 192.168.0.135 db1 192.168.0.136 monitor 192.168.0.137 db2 虚拟IP 作用 192.168.0.138 writter 192.168.0.139 reader 192.168.0.140 reader 安装步骤 1.

Mysql MMM 高可用

一.Mysql MMM 高可用概况: mmm_mond  负责所有的监控工作的监控守护进程,决定节点的移除等: mmm_agentd  运行在mysql服务器上的代理守护进程,通过简单远程服务集提供给监控节点: mmm_control  命令行管理mmm_mond进程: Monitor:192.168.209.18 DB1:192.168.209.19 DB2:192.168.209.20 DB3:192.168.209.21   virtual write ip:192.168.209.4 v

MySQL——mmm高可用(实践!)

MySQL-MMM优缺点: 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性. 缺点:Monitor节点是单点,可以结合Keepalived实现高可用. MySQL-MMM工作原理:  MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master

MySQL——MMM高可用

MySQL-MMM优缺点: 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性. 缺点:Monitor节点是单点,可以结合Keepalived实现高可用. 实验环境: master1服务器 192.168.13.167 master2服务器 192.168.13.151 slave1服务器 192.168.13.168 slave2服务器 192.168.13.145 monitor服务器 192.168.13.164 1.在maste

MySQL—MMM高可用群集的搭建(全过程,纯干货~~)

本篇文章主要介绍搭建MMM方案以及MMM架构的原理.MMM方案不适用对数据一致性要求很高的业务.下面一起来学习学习. 先来看看具体的架构拓扑,如下: 其中, 角色 Hosts IP地址 应用属性 VIP master1 master 192.168.142.135 write 192.168.142.188 master2 backup 192.168.142.132 write|read 192.168.142.188 slave1 slave 192.168.142.136 read 192

MySQL mmm 高可用配置

10.10.10.20:监控端 10.10.10.21:主 10.10.10.22:主 10.10.10.23:从 10.10.10.24:从 yum -y install mysql mysql-server service mysqld start yum -y install mysql-mmm* useradd --comment "MMM Script owner" --shell /sbin/nologin mmmd yum -y install perl-Time-HiR

mysql mmm高可用架构设计

项目概述:搭建主从,双主,安装Perl模块  安装配置mmm软件  测试 硬件环境:4台虚拟PC 软件环境:rehl6.5 MySQL-5.6.26 percona-xtrabackup-2.3.4 mysql-mmm-2.2.1 实施步骤: 搭建主从,双主: 1.搭建4台主机与数据库:m1 m2 slave deve 2.修改m1 m2 slave参数文件 [mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=330

mysql的MMM高可用方案

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

MySQL高可用群集--MMM高可用架构

为什么要使用MySQL高可用群集 在实际生产环境中,当普通的MySQL主从复制和读写分离不能满足实际需求时,就需要考虑MySQL的高可用群集,出于安全角度考虑,当数据访问量过大带来主服务器负载增大,当出现主服务器宕机一个时,保证数据服务不会中断的情况下,从服务器会自动寻找另一主服务器,而从服务器也会像主服务器一样,当其中一个宕机时,依旧可以保证服务不会中断. MMM高可用架构 什么是MMM? MMM(Master-Master replication manager for MySQL)是一套支

MMM高可用MySQL服务集群解决方案

MMM高可用方案简介 MMM(Master-Master Replication Manager for MySQL)主主复制管理器,是一套提供了MySQL主主复制配置的监控.故障迁移和管理的可伸缩的脚本程序.在MMM高可用解决方案中,可以配置双主多从架构,通过MySQL Replication技术可以实现两台MySQL服务器互为主从,并且在任何时候只有一个节点可以写入,避免多节点写入的数据冲突,同时,当可写节点故障时,MMM套件可以立即监控到,然后将服务自动切换到另一个主节点继续提供服务,从而