MHA高可用

本文介绍了如何使用MHA解决MySQL单点故障问题,详细阐述了MHA的搭建过程,包括安装软件、配置免交互、设置MySQL主从复制,并通过模拟故障展示了自动切换的机制。
摘要由CSDN通过智能技术生成

配置

概述

传统的mysql主从架构存在单点故障:
◆目前MySQL已经成为市场上主流数据库之一,考虑到业务的重要性,MySQL 数据库单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA 的出现就是解决MySQL单点的问题。另外随着企业数据量越来越庞大,数据库的压力又成为企业的另一个瓶颈,MySQL多主多从架构的出现可以减轻MySQL本身的压力。
我们将主要介绍MHA的搭建和模拟MySQL故障自动切换的过程。

实验思路

本次需要用到四台虚拟机
1、 安装 MySQL 数据库
2、 配置 MySQL 主从复制
3、 安装 MHA 软件
4、 配置无密码认证
5、 配置 MySQL MHA 高可用
6、 模拟 master 故障切换

具体配置

数据库的安装就不描述了,主从复制我也已经发过了,这边直接进入主从复制之后的步骤:

##设置两台从库为只读模式
mysql> set global read_only=1;
mysql> flush privileges;

安装 MHA 软件

所有服务器上都安装 MHA 依赖的环境,首先安装 epel 源(四台都要装)

[root@manager ~]# yum -y install epel-release --nogpgcheck
[root@manager ~]# yum install -y perl-DBD-MySQL \
perl-Config-Tiny \
perl-Log-Dispatch \
perl-Parallel-ForkManager \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN

主从机器上传node包、MHA的要上传node、manager两个包,因为manager依赖node组件。

这边只演示其中一台的安装过程。其他三台步骤一样

[root@1 ~]# tar zxvf mha4mysql-node-0.57.tar.gz
[root@1 ~]# cd mha4mysql-node-0.57
[root@1 mha4mysql-node-0.57]# perl Makefile.PL  
[root@1 mha4mysql-node-0.57]# make
[root@1 mha4mysql-node-0.57]# make install

在manager上安装manager组件,一定要先安装node组件才能安装manager组件

[root@manager ~]# tar zxvf mha4mysql-manager-0.57.tar.gz 
[root@manager ~]# cd mha4mysql-manager-0.57/
[root@manager mha4MHA-manager-0.57]# perl Makefile.PL
[root@manager mha4MHA-manager-0.57]# make
[root@manager mha4MHA-manager-0.57]# make install

manager 安装后在/usr/local/bin 下面会生成几个工具,主要包括以下几个:
masterha_check_ssh 检查 MHA 的 SSH 配置状况
masterha_check_repl 检查 MySQL 复制状况
masterha_manger 启动 manager的脚本
masterha_check_status 检测当前 MHA 运行状态
masterha_master_monitor 检测 master 是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的 server 信息
masterha_stop 关闭manager

配置免交互

在manager上配置到所有数据库节点的无密码认证
[root@manager ~]# ssh-keygen -t rsa ##一路按回车键
[root@manager ~]# ssh-copy-id 20.0.0.60    ###yes  然后输入密码,密码是root登录密码
[root@manager ~]# ssh-copy-id 20.0.0.70  
[root@manager ~]# ssh-copy-id 20.0.0.80
在Mysql1上配置到数据库节点Mysql2和Mysql3的无密码认证
[root@1 ~]# ssh-keygen -t rsa
[root@1 ~]# ssh-copy-id 20.0.0.70
[root@1 ~]# ssh-copy-id 20.0.0.80
在Mysql2上配置到数据库节点Mysql1和Mysql3的无密码认证
[root@2 ~]# ssh-keygen -t rsa
[root@2 ~]# ssh-copy-id 20.0.0.60
[root@2 ~]# ssh-copy-id 20.0.0.80
在Mysql3上配置到数据库节点Mysql1和Mysql2的无密码认证
[root@3 ~]# ssh-keygen -t rsa
[root@3 ~]# ssh-copy-id  20.0.0.60
[root@3 ~]# ssh-copy-id 20.0.0.70

配置MHA(在manager服务器上配置)


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值