秒级故障切换!用MHA轻松实现MySQL高可用(二)
作者介绍
郝朝阳,运维工程师,专注于运维自动化的实现。现就职于宜搜科技,负责前端运维工作。虽然多方面开花,却致力于形成自己运维体系思想。
前提
由于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上查看
本文来自云栖社区合作伙伴"DBAplus",原文发布时间:2016-08-10
MySQL高可用之MHA集群(下) 一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
MySQL高可用之MHA集群(中) 一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
MySQL高可用之MHA集群(上) 一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
相关文章
- MySQL Binlog Digger 4.28 【mysql日志分析工具】
- MySQL中的外键(foreign key)
- [MySQL] mysql地理位置服务geometry字段类型
- 通俗理解MySQL触发器是什么?
- cant connect to mysql server on
- 项目访问mysql时报: Failed to obtain JDBC Connection...:Host ‘X‘is not allowed to connect to this MySQL ser
- mysql基础 4.数据的基本操作
- 基于QT(C++)+MySQL 实现(界面)疫情下低风险旅行模拟系统【100010641】
- 基于Python(Django)+MySQL实现(Web)大学生信用评价系统分析与设计【100010400】
- 基于 JSP+Mysql实现MVC房屋租赁系统【100010353】
- 基于Java+MySQL 实现(Web)动态人脸识别的认证识别系统【100010315】
- 基于Java+MySQL 实现(Web)企业信息展示系统【100010224】
- 基于Java+MySQL实现(Web)企业仓库存储管理系统【100010160】
- 基于C#+Mysql实现(WinForm)企业的设备管理系统【100010018】
- MySQL Router实现MySQL的读写分离
- 转 mysql spool_用MySQL实现类似Oracle SPOOL的功能
- MySQL中如何实现select top n ----Limit
- mysql在虚拟机上重启命令
- mysql常用语句练习-基于ecshop2.7.3数据库(1)
- (5.4)mysql高可用系列——MySQL异步复制(实践)
- (1.6)MySQL执行计划
- mysql窗口函数、Mysql分析函数
- (0.2.4)Mysql安装——yum源安装
- mysql 批量插入数据过多的解决方法
- MySQL/MariaDB重置root密码、配置慢查询日志
- redis实现mysql的数据缓存
- MySQL索引