MHA集群概述
MHA介绍
MHA简介
MHA(Master High Availability)
- 由日本DeNA公司youshimaton开发
- 是一套优秀的实现MySQL高可用的的解决方案
- 数据的自动故障切换操作能做到在0~30秒内完成
- MHA能确保在故障切换的过程中最大限度保证数据的一致性,以达到真正意义上的高可用
MHA的组成
MHA Manager(管理节点)
- 管理所有数据库服务器
- 也可以单独部署在一台独立的机器上
- 也可以部署在某个数据库服务器上
MHA Node(数据节点)
- 存储数据的MySQL服务器
- 运行在每台MySQL服务器上
MHA工作过程
工作过程具体如下:
- 由Manager定制探测集群中的master节点
- 当master故障时,Manager自动将拥有最新数据的slave提升为新的master
拓扑结构
部署MHA集群
准备集群环境
安装依赖包
配置管理节点
安装软件包
相关命令
编写主配置文件
模板文件
mha4mysql-manager-0.56/samples/conf/app1.cnf
创建故障切换脚本
修改master_ip_failover脚本,设置如下内容
-需手动添加如下代码
-添加执行权限
部署VIP地址
在主库部署VIP地址
查看IP地址
配置数据节点
安装软件包
在所有数据库上安装mha_node包
在所有数据库上做授权用户
根据角色做响应配置
配置主服务器,修改数据库服务运行参数
测试配置
测试集群环境
测试ssh环境
在管理节点上测试ssh配置
启动管理服务
--ignore_last_failover 允许多次切换主服务器
查看状态:masterha_chaeck_status
停止服务:masterha_stop
访问集群
主服务器用户授权
在主服务器添加访问数据的连接用户
在2台从服务器查看用户
客户端访问
在客户端连接vip地址访问数据库服务
测试高可用
模拟主服务器故障
客户端访问集群
修复故障服务器
配置数据库服务器
具体操作:
- 启动mysql服务
- 与主服务器数据一致
- 指定主服务器信息
- 启动slave进程
- 查看状态信息
配置管理服务器
具体操作
- 修改主配置文件
- 测试集群环境
- 重启重启服务状态
- 查看服务状态