秒级故障切换!用MHA轻松实现MySQL高可用(二)

郝朝阳 2016-08-10 10:28:36

作者介绍  

郝朝阳运维工程师,专注于运维自动化的实现。现就职于宜搜科技,负责前端运维工作。虽然多方面开花,却致力于形成自己运维体系思想。

 

前提
 

由于MHA不会自动创建主从环境,所以要手动去部署主从环境,也可以在现有主从环境部署MHA。所有slave不要设置为只读,同时也要打开binlog。如果master故障后要切换到指定的slave上,该指定的slave打开binlog,设置可读写,其它不用设置打开binlog或设置只读也可。具体以自身架构为准。


架构
 

 

 

系统环境
 

#cat /etc/redhat-release

CentOSrelease 6.6 (Final)

#uname -rm

2.6.32-504.el6.x86_64x86_64

 

创建MHA用户
 

在主从环境的主上执行

mysql>grant  all privileges on *.* to 'mha'@'192.168.56.%' identified by '123456';


创建软连接
 

如果MySQL服务不是yum安装,要在所有MySQLServer上,无论主从都要执行如下两个命令。


# ln-s /application/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog

# ln-s /application/mysql/bin/mysql /usr/bin/mysql


配置SSH公钥认证
 

几台服务器进行相同操作,仅分发到的服务不同而已,这里仅列出一台。


###

添加统一用户

在生产环境下使用root用户不安全,也不规范。并且环境统一也比较方便管理,因此可以创建统一的普通用户来进行。

#####


创建密钥对


[root@mha-manager ~]#ssh-keygen -t dsa


将公钥分发到各个主机上



验证


 

配置hosts
 


部署MHANode
 

在所有运行MySQL服务的服务器上运行MHA Node,无论是master还是slave。由于MHA Manager需要MHA Node,因此在运行MHA Manager的服务器上也需要安装MHA Node。当然也可以在任意一个slave上运行MHA Manager。因为部署步骤相同,所以就列出一个安装步骤(在mha-manager服务器上)


创建目录


[root@mha-manager ~]# mkdir   /softs

 

安装MHA Node


其它MySQL服务器上的部署步骤一样,再次省略。

 

部署MHAManager
 

MHA Manager仅运行在作为manager的服务器上。当然也可以部署在其中任意一台slave上。


安装MHA Manager



规范mha目录



配置app1.cnf


 

配置全局配置文件


检查配置
 

操作在mha-manager上进行

 

检查ssh连接性 



检查主从复制状态

 

 

启动manager
 

 

 

检查manager状态
 

 

 

master故障切换测试
 

 


在mysql-slave02上查看



上期回顾:《秒级故障切换!用MHA轻松实现MySQL高可用(一)》

 

精选专题(点击蓝色标题可阅读全文)

 

近期活动:

Gdevops全球敏捷运维峰会广州站


峰会官网:www.gdevops.com

最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告