博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL5.6 部署MHA
阅读量:6298 次
发布时间:2019-06-22

本文共 1250 字,大约阅读时间需要 4 分钟。

趁着最近几天休息,就把之前没有补全的博客也来补补。


今天就和大家聊聊MySQL高可用方案中的MHA

在中小型架构中,针对MySQL做高可用 用的最多的可能就是keepalived/heartbeat+MySQL Replication。

这种方案配置简单、维护方便,并且也能实现MySQL的故障转移,因此更多的倾向于此架构


MHA是什么?

MHA是由日本Mysql专家用Perl写的一套Mysql故障切换方案,来保障数据库的高可用性,它的功能是能在0-30s之内实现主Mysql故障转移(failover),MHA故障转移可以很好的帮我们解决从库数据的一致性问题,同时最大化挽回故障发生后数据的一致性。

MHA里有两个角色一个是node节点 一个是manager节点,要实现这个MHA,必须最少要三台数据库服务器,一主多备,即一台充当master,一台充当master的备份机,另外一台是从属机,这里实验为了实现更好的效果使用四台机器,需要说明的是一旦主服务器宕机,备份机即开始充当master提供服务,如果主服务器上线也不会再成为master了,因为如果这样数据库的一致性就被改变了

这里有一个mha的网络拓扑图,我们先来简单的介绍下

先来聊聊这个拓扑图,文章开篇也有过介绍,MHA有两个重要的角色,一个是manager,另外一个是node;

从这个拓扑图中,或许大家不难分辨出如下信息

1
2
3
4
192.168.1.117    manager    管理节点
192.168.1.116    master     主库
192.168.1.118    slave01    从库 + 备库
192.168.1.119    slave02    从库

一、环境初始化

1、修改主机名

1
2
3
4
5
6
7
8
主机: manager执行命令
# sed -i 's/HOSTNAME=.*/HOSTNAME=manager/g' /etc/sysconfig/network && hostname manager
主机: master执行命令
# sed -i 's/HOSTNAME=.*/HOSTNAME=master/g' /etc/sysconfig/network && hostname master
主机: slave01执行命令
# sed -i 's/HOSTNAME=.*/HOSTNAME=slave01/g' /etc/sysconfig/network && hostname slave01
主机: slave02执行命令
# sed -i 's/HOSTNAME=.*/HOSTNAME=slave02/g' /etc/sysconfig/network && hostname slave02

2、主机名解析

1
2
3
4
5
     本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1695175,如需转载请自行联系原作者
你可能感兴趣的文章
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>