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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

作者介绍  

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

 

前提 

由于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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 关系型数据库 MySQL
Mysql高可用|索引|事务 | 调优
Mysql高可用|索引|事务 | 调优
|
3月前
|
SQL 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
25 4
|
3月前
|
关系型数据库 MySQL
电子好书发您分享《MySQL MGR 8.0高可用实战》
电子好书发您分享《MySQL MGR 8.0高可用实战》 电子好书发您分享《MySQL MGR 8.0高可用实战》
88 1
|
2月前
|
监控 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
45 6
|
3月前
|
SQL 关系型数据库 MySQL
Mysql高可用,索引,事务与调优:提高数据库性能的关键技术
在当今互联网时代,高可用性、稳定性和性能是数据库的三大关键要素。本文将深入探讨Mysql高可用、索引、事务和调优等方面的技术,为读者提供实用的解决方案和经验。
24 0
|
3月前
|
监控 关系型数据库 MySQL
MySQL高可用与性能优化综述
MySQL作为一种常用的关系型数据库管理系统,高可用性、索引优化、事务处理和性能调优一直是开发人员和运维人员关注的重点。本文将从MySQL高可用性解决方案、索引设计与优化、事务处理最佳实践以及性能调优策略等方面进行探讨,为读者提供全面的MySQL技术知识概览。
|
3月前
|
SQL 缓存 关系型数据库
MySQL高可用与性能优化——从索引到事务
MySQL是一款常用的关系型数据库,但在实际应用中,如何保证其高可用性与性能优化依然是一个值得探讨的话题。本文将从索引的创建和优化、事务的处理以及常见的性能瓶颈入手,为读者提供MySQL高可用与性能优化的实践经验。
|
7天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
26天前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
75 1