简介:MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。
操作环境:五台Linux(CentOS7)虚拟机:两台主服务器,两台从服务器,一台监控服务器。
具体操作步骤:
五台虚拟机分配IP:同网段

因为要在线安装软件包,所以模式都设置为NAT模式;

首先配置阿里云源,安装epel源(所有机器都要装)

安装完源以后清空之前的,重新设置

安装mariadb

编辑配置文件

删除原有【mysqld】文件插入
[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=var/lib/mysql/mysql_slow_queris.log
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1
log_slave_updates=true
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
后面几台同步操作(server_id这里不能一样其他相同)


关闭防火墙开启mariadb,直接mysql登录mariadb

在主1服务器上查看master状态(mysql_bin.000003 245 必须注意)

在两台主服务器上提权


开启slave




























mmm群集脚本:
主服务器1 192.168.120.128 db1 vip:192.168.120.200
主服务器2 192.168.120.129 db2

从服务器1 192.168.120.130 db3 vip:192.168.120.210
从服务器2 192.168.120.131 db4 192.168.120.220

监控服务器 192.168.120.132

=======================================

四台同装 //下载阿里云源yum配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y //安装epel源
yum clean all && yum makecache //清空所有,重新设置数据缓存
yum install mariadb-server mariadb -y //安装mariadb

vim /etc/my.cnf
删除原有【mysqld】文件插入
[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=var/lib/mysql/mysql_slow_queris.log
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1
log_slave_updates=true
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

关闭防火墙
systemctl stop firewalld.service
setenforce 0
开启服务
systemctl start mariadb.service
可以登录mysql


授权(两台主上)
grant replication slave on . to 'replication'@'192.168.120.%' identified by '123456';

change master to master_host='192.168.120.128',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=245;

开启同步
start slave;
查看状态
show slave status\G;


从服务器上
change master to master_host='192.168.120.128',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=245;
开启同步
start slave;
查看状态
show slave status\G;

=================安装mmm======================
四台同装
yum install mysql-mmm* -y

cd /etc/mysql-mmm/
vim mmm_common.conf

修改
(网卡名称改成ens33)
<host default>
4 cluster_interface ens33 (网卡名称改成ens33)
5 pid_path /run/mysql-mmm-agent.pid
6 bin_path /usr/libexec/mysql-mmm/
7 replication_user replication (名称)
8 replication_password 123456 (密码)
9 agent_user mmm_agent
10 agent_password 123456 (代理密码)
13 <host db1>
14 ip 192.168.120.128 主1IP
15 mode master
16 peer db2
17 </host>
18
19 <host db2>
20 ip 192.168.120.129 主2IP
21 mode master
22 peer db1
23 </host>
24
25 <host db3>
26 ip 192.168.120.130 从1IP
27 mode slave
28 </host>
29
30 <host db4>
31 ip 192.168.120.131 从2IP
32 mode slave
33 </host>
34
35 <role writer> 虚拟用户
36 hosts db1, db2
37 ips 192.168.120.200 200
38 mode exclusive
39 </role> 要同网段
40
41 <role reader>
42 hosts db3, db4
43 ips 192.168.120.210, 192.168.120.220 210,220用户
44 mode balanced
45 </role>

在主1上(远程复制功能)
scp mmm_common.conf root@192.168.120.129:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.120.130:/etc/mysql-mmm/
scp mmm_common.conf root@192.168.120.131:/etc/mysql-mmm/


监控服务器安装好mmm后
cd /etc/mysql-mmm/
vim mmm_mon.conf
修改
8 ping_ips 192.168.120.128,192.168.120.129,192.168.120.130,192.168.120.131
9 auto_set_online 10 //10秒自动上线
21 monitor_password 123456

----------------------------在四台服务器上为mmm agent授权-----
//授权代理mmm_agent
grant super, replication client, process on . to 'mmm_agent'@'192.168.120.%' identified by '123456';
//监控授权mmm_monitor
grant replication client on . to 'mmm_monitor'@'192.168.120.%' identified by '123456';

flush privileges; //刷新

vim mmm_agent.conf
修改四台
this db1
this db2
this db3
this db4
----------------------------在所有数据库服务器上启动mysql-mmm-agent---------
四台
systemctl start mysql-mmm-agent.service 开启服务
systemctl enable mysql-mmm-agent.service 开机自启动

systemctl start mysql-mmm-monitor.service 监控上开启
mmm_control show 监控上查看四台服务器状态

显示
db1(192.168.120.128) master/ONLINE. Roles: writer(192.168.120.200)
db2(192.168.120.129) master/ONLINE. Roles:
db3(192.168.120.130) slave/ONLINE. Roles: reader(192.168.120.210)
db4(192.168.120.131) slave/ONLINE. Roles: reader(192.168.120.220)

切换
mmm_control move_role writer db2

mmm_control checks all //需要全部ok

-----------------------------------故障检测------------------------------------

systemctl stop mariadb.service //关闭主1mariadb

mmm_control show //监控那台查看(自动会切第二台)

在四台服务器上为监控机地址授权登录
grant all on . to 'testdba'@'192.168.120.132' identified by '123456';

flush privileges; //刷新

-----------------在监控服务器上-------------------------
mysql -utestdba -p -h 192.168.120.200 //直接登录访问

转载于:https://blog.51cto.com/13756916/2173120

MySQLmmm群集相关推荐

  1. Mysql的MMM高可用群集

    文章目录 一.Mysql-MMM群集概述 (1)MMM概述 (2)MMM的优缺点 (3)MMM进程 `(脚本)` 的作用 (4)MMM的工作架构 二.搭建Mysql-MMM高可用群集 (1)实验环境 ...

  2. 搭建 mysql-mmm 高可用群集

    搭建 mysql-mmm 高可用群集 MMM 简介 : MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序. ...

  3. mysql-mmm官方安装指南翻译

    mysql-mmm安装指南 翻译:飞鸿无痕 转载请注明出处!http://blog.chinaunix.net/u3/93755/showart.php?id=2379392 由于本人英语水平不是很好 ...

  4. mysql高可用架构——MMM用群集架构

    MMM群集架构概述 MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现, 用来对mysql ...

  5. Windows Server 2012 系统群集

    Windows Server 2012 系统群集 本次将测试Windows Server 2012 系统群集功能. 实验环境: 4台服务器都为Windows Server 2012 DataCente ...

  6. 九、数据库群集部署、配置 (二)

    九. 数据库群集部署.配置(二) 配置DTC 角色高可用 在群集管理器对话框,选择"配置角色",如图 2.  选择"下一步",如图 3.  在选择角色对话框,选 ...

  7. Hyper-v 3.0虚拟化平台群集共享磁盘无法failover的故障

    碰到一个hyper-v 3.0虚拟化平台和HP存储的兼容性问题,放出来和大家分享一下. 平台:windows server 2012 RTM+hyper-v 3.0 故障现象: 生产虚拟平台宿主机意外 ...

  8. Windows Server 2008 R2 之二十九故障转移群集(一)(

    关于Windows Server 2008故障转移群集见http://technet.microsoft.com/zh-cn/library/cc732488(WS.10).aspx 实验环境: 两台 ...

  9. Win2008学习(二),群集的仲裁配置

    当群集中的节点发生故障时,会有其它节点继续提供服务.不过,当节点之间的通信有问题或太多故障节点时,群集服务就会停止,可是群集可以容纳多少个节点故障呢?这要由仲裁配置(Quorum Configurat ...

最新文章

  1. 读写位宽不同的FIFO,数据输入输出顺序是怎么样的?BRAM又如何呢?
  2. mysql web备份软件_Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)
  3. 互联网1分钟 | 0307 阿里巴巴与NBA升级中国合作伙伴关系;小米成立AIoT战略委员会...
  4. 转录组测序多少生物重复合适?2个?3个?48个?
  5. 手机连接WIFI后无法上网,是怎么回事?
  6. 2018深度学习十大趋势:元学习成新SGD,多数硬件创企将失败
  7. nginx做负载CDN加速获取端真实ip
  8. 《Python算法教程》——2.4 请提防黑盒子
  9. tomcat、redis session共存配置
  10. 热门好用的IP归属地API
  11. C盘满了,要怎么清理才不会误删?
  12. 消防应急照明和疏散指示系统
  13. 【Python web 开发】 bottle 简单教程 (四)
  14. 计算机老师新年贺卡祝福语,新年贺卡祝福语老师大全
  15. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)
  16. Windows/Linux在Python下使用Metis
  17. 人是可以被驯养的——斯德哥尔摩综合症
  18. 处理数据时,对数据取对数的意义
  19. android 1像素变粗,一亿像素的意义:聊聊图像采样与重建
  20. TFTP服务器搭建与总结

热门文章

  1. 病毒木马查杀实战第019篇:病毒特征码查杀之编程实现
  2. Git 2.9增加了Merge、Rebase、Commit等新特性
  3. oracle之控制文件恢复
  4. java_泛型 TreeSet 判断hashcode/length(升序排列)
  5. windows server 2008虚拟化技术一览
  6. 移动端web页面列表类上拉加载,查看详情,iframe嵌套第三方页面遇到的问题以及解决办法...
  7. 发布一个用于WinCE的矢量图控件
  8. 在Flutter中嵌入Native组件的正确姿势
  9. TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗
  10. Algs4-1.2.12为SmartDate添加一个方法dayOfTheWeek()