博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
秒级故障切换!用MHA轻松实现MySQL高可用(二)
阅读量:6639 次
发布时间:2019-06-25

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

作者介绍  

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

 

前提 

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

架构 

 

20160810103125378.jpg

 

系统环境 

#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

将公钥分发到各个主机上

20160810103142235.jpg

验证

20160810103150700.jpg

 

配置hosts 

20160810103200128.jpg

部署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

20160810103211407.jpg

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

 

部署MHAManager 

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

安装MHA Manager

20160810103221459.jpg

规范mha目录

20160810103231737.jpg

配置app1.cnf

20160810103239748.jpg

20160810103249791.jpg

 

配置全局配置文件

20160810103304940.jpg

检查配置 

操作在mha-manager上进行

 

检查ssh连接性 

20160810103319307.jpg

20160810103330949.jpg

检查主从复制状态

 

20160810103343880.jpg

 

启动manager 

 

20160810103352617.jpg

 

检查manager状态 

 

20160810103400208.jpg

 

master故障切换测试  

20160810103411575.jpg

20160810103423673.jpg

 

在mysql-slave02上查看

20160810103432748.jpg

20160810103453529.jpg

20160810103505964.jpg

20160810103515247.jpg

本文来自云栖社区合作伙伴"DBAplus",原文发布时间:2016-08-10

转载地址:http://capvo.baihongyu.com/

你可能感兴趣的文章
20155203 《信息安全系统设计基础》第十一周学习总结
查看>>
【数据库(一)】SQL语言-表定义、查询
查看>>
1.java.io包中定义了多个流类型来实现输入和输出功能,
查看>>
Bootstrap下拉菜单
查看>>
NSUserDefaults 保存自己定义对象
查看>>
Android资源推荐
查看>>
ubuntu11.04 flash插件安装
查看>>
基础数据结构-串-KMP算法
查看>>
flask总结01
查看>>
你的字符串的基本功如何?
查看>>
SqlTransaction——事务详解
查看>>
小互联网公司(转)
查看>>
职场人生
查看>>
Spring Boot 初探[1]--快速搭建Spring Boot项目
查看>>
redis简单主从复制
查看>>
Eclipse 搭建 Maven Web项目
查看>>
tomcat使用同一个http端口如何配置多个web项目?
查看>>
Asp.net MVC - 使用PRG模式(附源码)
查看>>
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
查看>>
下载本 WebEnh博客 安卓APP
查看>>