mysql mmm 读写分离_MySQL/MariaDB基于MMM实现读写分离及高可用
前言
MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的)。
MMM
优缺点
优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。
缺点:Monitor节点是单点,可以结合Keepalived实现高可用。
工作原理
mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用服务器之上,当某一台服务器宕机时,监管会将VIP迁移至其他服务器。
实现过程
实验拓扑
#注:系统环境CentOS6.6
#VIP172.16.10.30为可写VIP,其他三组为可读VIP
#可写VIP只能在Master之间切换,可读VIP可在Master和Slave之间切换
#前端应用可连接任意可读VIP进行数据读取,连接可写VIP进行数据写入
双主一从配置
DB1配置
[root@node1 ~]# vim /etc/mysql/my.cnf
datadir = /mydata/data
log-bin=/mydata/binlogs/master-bin #二进制文件位置
relay-log=/mydata/relaylogs/relay-bin #中继日志位置
binlog_format=mixed
server-id = 1
auto_increment_offset=1 #双主复制中自增长字段的起始值
auto_increment_increment=2 #双主复制中自增长字段的步长
log_slave_updates = 1 #开启从库更新操作写入二进制日志功能
sync_binlog = 1 #可保证事务日志及时写入磁盘文件
skip-name-resolve #禁用DNS反向解析,如不写此项,则需要在各节点基于主机名通信
read_only = 1
[root@node1 ~]# service mysqld start
授权可用复制用户记录二进制日志位置
DB2配置
[root@node2 ~]# vim /etc/mysql/my.cnf
datadir = /mydata/data
log-bin=/mydata/binlogs/master-bin
relay-log=/mydata/relaylogs/relay-bin
binlog_format=mixed
server-id = 11
auto_increment_offset=2
auto_increment_increment=2
log_slave_updates = 1
sync_binlog = 1
skip-name-resolve
read_only = 1
[root@node2 ~]# service mysqld start
授权可用复制用户记录二进制日志位置
#因为实验之前都做了完整初始化,这里二进制文件位置一致
DB3配置
[root@scholar ~]# vim /etc/mysql/my.cnf
datadir = /mydata/data
relay-log=/mydata/relaylogs/relay-bin
server-id = 111
read_only = 1
skip-name-resolve
[root@scholar ~]# service mysqld start
连接各服务器
DB1连接DB2
DB2连接DB1
DB3连接DB1
主从测试
数据一致,主从复制部分完成
MMM配置
安装所需程序包
授权监控及代理用户
Monitor配置
DB1-DB3配置
启动服务
查看当前状态
查看各节点VIP状态
高可用测试
模拟db1故障,查看节点状态
再看db1的VIP状态
VIP已被转移到其他节点,其他方面有兴趣请自行测试,这里就不一一展示了
The end
MySQL/MariaDB基于MMM实现读写分离及高可用实验就先说到这里了,有兴趣的朋友可以继续探究基于Keepalived实现Monitor的高可用,这里就不做深究了。
mysql mmm 读写分离_MySQL/MariaDB基于MMM实现读写分离及高可用相关推荐
- c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解
1.系统环境架构 vip 192.168..45.244 mysql-1:192.168.45.238 mysql-2:192.168.45.239 2.mysql双主设置 192.168.45.23 ...
- 用haproxy结合keepalived实现基于LNMP的负载均衡和高可用
今天我们讲haproxy结合keepalived实现LNMP的负载均衡和高可用,现在的公司大部分都基于haproxy实现负载均衡.下面以一个事例去给大家详细讲解如何去实现: 一.用haproxy结合k ...
- 路由器snmp配置_基于keepalived配置数据库主从实现高可用
基于keepalived配置数据库主从实现高可用 使用keepalived来监听端口,实现数据库的高可用.实现效果,其中一台数据库服务器突然出故障或关机时,应该不影响应用正常运行,等待服务器启动之后, ...
- 基于CentOS7,MySQL5.7的高可用MHA架构搭建实战
基于CentOS7,MySQL5.7的高可用MHA架构搭建实战 MHA 架构搭建 一 .MHA架构 MHA(Master High Availability)是一套比较成熟的 MySQL 高可用方案, ...
- 《Kubernetes部署篇:基于docker使用kubespray工具部署高可用K8S集群(国内互联网方案四)》
文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...
- 《Kubernetes部署篇:基于docker使用kubespray工具部署高可用K8S集群(国内互联网方案三)》
文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...
- mysql主备模型_MySQL主从复制 - 基于二进制日志(理论篇)
mysql日志类型 1 二进制日志 2 事务日志 3 一般查询日志 4 中继日志 5 慢查询日志 二进制日志 二进制日志通常记录的是可能潜在引起数据库发生改变的操作,每一 ...
- 盲源分离技术 matlab,基于ICA盲源分离的研究及matlab实现(毕业学术论文设计).doc...
********* 大 学 毕业设计(论文)任务书 毕业设计(论文)题目: 基于ICA盲源分离的研究及matlab实现 毕业设计(论文)要求及原始数据(资料): 论文要求: 查找盲源分离的现状及发展历 ...
- 基于linux下的 Pacemaker+Haproxy高可用负载均衡架构
corosync + pacemaker + crmsh 高可用集群 corosync提供集群的信息层(messaging layer)的功能,传递心跳信息和集群事务信息,多台机器之间通过组播的方式监 ...
- 基于ISCSI共享存储的KVM高可用群集配置
实验目的:运行的虚拟机可以在线平滑迁移,不会终端虚拟机运行的业务 高可用架构:pacemaker+corosync 并由pcs进行管理 系统环境:三台机器都是最新的centos7.4 所需组件: DL ...
最新文章
- 计算机机房用户不规则行为,网络及网管机房管理理论练习
- statusbar 尺寸 显示图标_移动端页面设计规范尺寸大起底 - 椰树飘香
- 微拍堂推出“正义联盟计划” 助力文玩行业高质量发展
- 使用yield返回IEnumberT集合
- oracle创建参数文件,Oracle的参数文件
- 机器学习工具在数据中心的应用与发展
- .net登录界面_JAVA实现简单的用户登录客户端
- myBatis + SpringMVC上传、下载文件
- 软件需求说明书/ 概要设计说明书/项目开发计划/详细设计说明书模版(说明要点及要点解释)
- 手持式自动锁螺丝机怎么操作使用
- jsBarCode生成条码并且打印的问题
- ChromeOptions--禁止加载图片
- 统计学简介之十六——单因素方差分析
- 展示一下用thinker做小软件的UI
- 【Linux 网络】IP校验和计算相关
- 涨握在线|马云接班人;外资取限;iPhone后继有人
- 方法参数中pass by reference(传引用)和 pass by value(传值)的区别
- pygame系列_百度随心听_完美的UI设计
- NLP知识包--语义分析智能问答工具
- 2005年通信热点载录
热门文章
- python基础之模块
- dlna投屏显示服务器没互动,Dlna投屏
- android 点赞 1,Android自定义FloatingText仿点赞+1特效
- linux双线双网卡双ip双网关设置方法,Linux双线双网卡双IP双网关设置方法
- 服务器文件安全扫描,服务器安全扫描工具
- cad重新加载php命令,cad撤回命令是什么
- 小白都能学会的Python基础 第一讲:Python初了解
- Vue实现 侧边固定定位图标 滑动隐藏
- 手机上不了电信宽带连接服务器无响应怎么办,当网页都打不开该怎么办?
- 1.17英文题面翻译