一、架构简图
软件环境:MySQL-5.7.17、mha4mysql-0.56、Mycat-server-1.6、Haproxy-1.5.18、Keepalived-1.3.5-1
+-------------+ +-----------+ +--------------------------+
| keepalived | | +-----+ | | +--------+ +--------+ |
|-------------| | |mycat| | ==> | |mysql(M)|<==>|mysql(M)| |
| +-------+ | | +-----+ | | +--------+ +--------+ |
| |haproxy|=>| ==> | | | MHA或其他多主高可用方案 |
| +-------+ | | | |-~-~-~-~-~-~~~~-~-~-~-~-~-|
client --> vip | |高| | | | vip | +--------+ +--------+ |
| |可| | | | | |mysql(S)| 从 |mysql(S)| |
| |用| | | | | +--------+ 库 +--------+ |
| +-------+ | | +-----+ | | +--------+ 集 +--------+ |
| |haproxy|=>| ==> | |mycat| | ==> | | MHA | 群 | | |
| +-------+ | | +-----+ | | +--------+ +--------+ |
+-------------+ +-----------+ +--------------------------+
二、MHA数据库集群搭建
角色 |
IP 地址 |
主机名 |
Master 数据库服务器 |
192.168.1.51 |
master51 |
备用 1 master 数据库服务器 |
192.168.1.52 |
master52 |
第 1 台 slave 服务器 |
192.168.1.53 |
slave53 |
第 2 台 slave 服务器 |
192.168.1.54 |
slave54 |
Mha_manager 服务器 |
192.168.1.65 |
mham |
数据库VIP 地址 |
192.168.1.100 |
|
Mycat01服务器 | 192.168.1.66 | mycat01 |
Mycat02服务器 | 192.168.1.67 | mycat02 |
haproxy01服务器 | 192.168.1.68 | haproxy01 |
haproxy02服务器 | 192.168.1.69 | haproxy02 |
keepalive第一个VIP | 192.168.1.8 | haproxy01 |
keepalive第二个VIP | 192.168.1.9 | haproxy02 |
1.安装 mha软件包
• 在所有数据库服务器上安装 mha-node 包
]# yum -y install mha4mysql-node-0.56-0.el6.noarch.rpm
• 在mham管理主机上安装 mha_node 和 mha-manager包
[root@mham ~ ]# yum -y install mha4mysql-node-0.56-0.el6.noarch.rpm
[root@mham ~ ]# yum -y install perl-ExtUtils-* perl-CPAN-*
[root@mham ~ ]#tar -zxf mha4mysql-manager-0.56.tar.gz
[root@mham ~ ]#cd mha4mysql-manager-0.56
[root@mham ~ ]# perl Makefile.pl
[root@mham ~ ]# make
[root@mham ~ ]# make install
• 安装 manager 软件包 后产生的命令
masterha_check_ssh //检查 MHA 的 SSH 配置
masterha_check_repl //检查 MySQL主从复制
masterha_manger //启动 MHA
masterha_check_status //检测 MHA 运行状态
masterha_master_monitor //检测 master 是否宕机
2.配置 ssh 密钥对认证登陆
• 所有数据库服务器彼此之间互相以 root 用户 ssh 秘钥对认证登录
• 配置管理主机以 root 用户 ssh 秘钥对认证登录所有数据节点主机
3.预先手动配置 vip 地址
[root@master51 ~]# ifconfig eth0:1 192.168.1.100/24
4.master51 数据库服