1.环境规划

192.168.12.131 node01
192.168.12.132 node02
192.168.12.133 node03

2.环境准备

一主两从GTID,略。

3.配置关键程序软连接(所有节点)

ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

4.配置各节点互信(密钥对)

node01:
rm ‐rf /root/.ssh
ssh‐keygen
cd /root/.ssh
mv id_rsa.pub authorized_keys
scp ‐r /root/.ssh 192.168.12.132:/root
scp ‐r /root/.ssh 192.168.12.133:/root 验证:
node01:
ssh 192.168.12.132 date
ssh 192.168.12.133 date node02:
ssh 192.168.12.131 date
ssh 192.168.12.133 date node03:
ssh 192.168.12.131 date
ssh 192.168.12.132 date

  

5.安装软件

#node软件和manager软件下载连接:
https://github.com/yoshinorim/mha4mysql-manager/releases/tag/v0.58
https://github.com/yoshinorim/mha4mysql-node/releases/tag/v0.58 #所有节点安装node软件依赖包
yum install perl‐DBD‐MySQL ‐y #安装node软件
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch #在主库中创建mha需要的用户
grant all privileges on *.* to mha@'192.168.12.%' identified by 'mha'; #node03节点安装manager软件依赖包
yum install ‐y perl‐Config‐Tiny epel‐release perl‐Log‐Dispatch perl‐Parallel‐ForkManager perl‐Time‐HiRes #安装manager软件
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch

  

6.Manager配置文件准备

#创建配置文件目录
mkdir ‐p /etc/mha
#创建日志目录
mkdir ‐p /var/log/mha/app1
#编辑mha配置文件
[root@node03 ~]# vim /etc/mha/app1.cnf
[server default]
manager_log=/var/log/mha/app1/manager
manager_workdir=/var/log/mha/app1
master_binlog_dir=/mysql/binlog
user=mha
password=mysql
ping_interval=2
repl_password=mysql
repl_user=repl
ssh_user=mysql
[server1]
hostname=192.168.12.131
port=3306
[server2]
hostname=192.168.12.132
port=3306
[server3]
hostname=192.168.12.133
port=3306

7.状态检查

检查互信:
[root@node03 ~]$ masterha_check_ssh --conf=/etc/mha/app1.cnf
Sat Jul 11 20:02:04 2020 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sat Jul 11 20:02:04 2020 - [info] Reading application default configuration from /etc/mha/app1.cnf..
Sat Jul 11 20:02:04 2020 - [info] Reading server configuration from /etc/mha/app1.cnf..
Sat Jul 11 20:02:04 2020 - [info] Starting SSH connection tests..
Sat Jul 11 20:02:05 2020 - [debug]
Sat Jul 11 20:02:04 2020 - [debug] Connecting via SSH from root@192.168.12.131(192.168.12.131:22) to root@192.168.12.132(192.168.12.132:22)..
Sat Jul 11 20:02:05 2020 - [debug] ok.
Sat Jul 11 20:02:05 2020 - [debug] Connecting via SSH from root@192.168.12.131(192.168.12.131:22) to root@192.168.12.133(192.168.12.133:22)..
Sat Jul 11 20:02:05 2020 - [debug] ok.
Sat Jul 11 20:02:06 2020 - [debug]
Sat Jul 11 20:02:05 2020 - [debug] Connecting via SSH from root@192.168.12.132(192.168.12.132:22) to root@192.168.12.131(192.168.12.131:22)..
Sat Jul 11 20:02:05 2020 - [debug] ok.
Sat Jul 11 20:02:05 2020 - [debug] Connecting via SSH from root@192.168.12.132(192.168.12.132:22) to root@192.168.12.133(192.168.12.133:22)..
Sat Jul 11 20:02:06 2020 - [debug] ok.
Sat Jul 11 20:02:07 2020 - [debug]
Sat Jul 11 20:02:05 2020 - [debug] Connecting via SSH from root@192.168.12.133(192.168.12.133:22) to root@192.168.12.131(192.168.12.131:22)..
Sat Jul 11 20:02:06 2020 - [debug] ok.
Sat Jul 11 20:02:06 2020 - [debug] Connecting via SSH from root@192.168.12.133(192.168.12.133:22) to root@192.168.12.132(192.168.12.132:22)..
Sat Jul 11 20:02:06 2020 - [debug] ok.
Sat Jul 11 20:02:07 2020 - [info] All SSH connection tests passed successfully. 检查主从复制状态:
[root@node03 ~]$ masterha_check_repl --conf=/etc/mha/app1.cnf
Sat Jul 11 20:03:29 2020 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sat Jul 11 20:03:29 2020 - [info] Reading application default configuration from /etc/mha/app1.cnf..
Sat Jul 11 20:03:29 2020 - [info] Reading server configuration from /etc/mha/app1.cnf..
Sat Jul 11 20:03:29 2020 - [info] MHA::MasterMonitor version 0.58.
Sat Jul 11 20:03:30 2020 - [info] GTID failover mode = 1
Sat Jul 11 20:03:30 2020 - [info] Dead Servers:
Sat Jul 11 20:03:30 2020 - [info] Alive Servers:
Sat Jul 11 20:03:30 2020 - [info] 192.168.12.131(192.168.12.131:3306)
Sat Jul 11 20:03:30 2020 - [info] 192.168.12.132(192.168.12.132:3306)
Sat Jul 11 20:03:30 2020 - [info] 192.168.12.133(192.168.12.133:3306)
Sat Jul 11 20:03:30 2020 - [info] Alive Slaves:
Sat Jul 11 20:03:30 2020 - [info] 192.168.12.132(192.168.12.132:3306) Version=5.7.29-log (oldest major version between slaves) log-bin:enabled
Sat Jul 11 20:03:30 2020 - [info] GTID ON
Sat Jul 11 20:03:30 2020 - [info] Replicating from 192.168.12.131(192.168.12.131:3306)
Sat Jul 11 20:03:30 2020 - [info] 192.168.12.133(192.168.12.133:3306) Version=5.7.29-log (oldest major version between slaves) log-bin:enabled
Sat Jul 11 20:03:30 2020 - [info] GTID ON
Sat Jul 11 20:03:30 2020 - [info] Replicating from 192.168.12.131(192.168.12.131:3306)
Sat Jul 11 20:03:30 2020 - [info] Current Alive Master: 192.168.12.131(192.168.12.131:3306)
Sat Jul 11 20:03:30 2020 - [info] Checking slave configurations..
Sat Jul 11 20:03:30 2020 - [info] read_only=1 is not set on slave 192.168.12.132(192.168.12.132:3306).
Sat Jul 11 20:03:30 2020 - [info] read_only=1 is not set on slave 192.168.12.133(192.168.12.133:3306).
Sat Jul 11 20:03:30 2020 - [info] Checking replication filtering settings..
Sat Jul 11 20:03:30 2020 - [info] binlog_do_db= , binlog_ignore_db=
Sat Jul 11 20:03:30 2020 - [info] Replication filtering check ok.
Sat Jul 11 20:03:30 2020 - [info] GTID (with auto-pos) is supported. Skipping all SSH and Node package checking.
Sat Jul 11 20:03:30 2020 - [info] Checking SSH publickey authentication settings on the current master..
Sat Jul 11 20:03:31 2020 - [info] HealthCheck: SSH to 192.168.12.131 is reachable.
Sat Jul 11 20:03:31 2020 - [info]
192.168.12.131(192.168.12.131:3306) (current master)
+--192.168.12.132(192.168.12.132:3306)
+--192.168.12.133(192.168.12.133:3306) Sat Jul 11 20:03:31 2020 - [info] Checking replication health on 192.168.12.132..
Sat Jul 11 20:03:31 2020 - [info] ok.
Sat Jul 11 20:03:31 2020 - [info] Checking replication health on 192.168.12.133..
Sat Jul 11 20:03:31 2020 - [info] ok.
Sat Jul 11 20:03:31 2020 - [warning] master_ip_failover_script is not defined.
Sat Jul 11 20:03:31 2020 - [warning] shutdown_script is not defined.
Sat Jul 11 20:03:31 2020 - [info] Got exit code 0 (Not master dead). MySQL Replication Health is OK.

    

8.开启MHA-manager

[root@node03 ~]#nohup masterha_manager ‐‐conf=/etc/mha/app1.cnf ‐‐remove_dead_master_conf ‐‐ignore_last_failover < /dev/null> /var/log/mha/app1/manager.log 2>&1 &

10.查看MHA状态

[root@node03 ~]# masterha_check_status --conf=/etc/mha/app1.cnf
app1 (pid:1827) is running(0:PING_OK), master:192.168.12.131

MySQL MHA安装配置的更多相关文章

  1. [mysql]brew 安装 配置 操作 mysql(中文问题)

    mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在stac ...

  2. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  3. Mysql主从安装配置

    Mysql主从安装配置   环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2  一. MySQL主服务器配置 1.编辑配置 ...

  4. mysql主从复制安装配置

    mysql主从复制安装配置 基础设置准备 #操作系统: centos6.5 #mysql版本: 5.7 #两台虚拟机: node1:192.168.182.111(主) node2:192.168.1 ...

  5. 记一次 mysql主从复制安装配置 过程

    mysql主从复制安装配置 1.centos安装及准备 去centos官网下载相应source版本的镜像文件并在vmware中安装,安装中会遇到填写installation source,输入以下即可 ...

  6. 虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  7. Linux(Ubuntu) Mysql的安装配置例子以及常用命令

    1.安装配置例子 有空再写 2.注意事项 (1)启动mysql 在/etc/mysql 目录下 service mysql start  新版本是(service mysqld start  ) (2 ...

  8. MySQL的安装配置

    安装配置 MySQL1.官方下载 MySQL2.用 tar 解压.tar.bz 或.tar.gz3.解压后有三个目录,分别为 usr etc var4.进入 usr,进入 bin5.在主机上建个目录( ...

  9. mysql cluster 安装配置方案

    mysql cluster (mysql 集群)安装配置方案   一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以 ...

随机推荐

  1. git 最新笔记,工作中的必会技能

    1.状态查看: git status 可以查看工作区,暂存区的状态 untracked 在暂存区没有该文件 modified 修改过 staged 使用git add 暂存过 2.添加操作: git ...

  2. css中渐变的分割线和自定义滚动条样式

    css中渐变的分隔线: <div style="background:linear-gradient(to left,#efefef,#b6b6b6,#efefef);height:1 ...

  3. 金九银十已到!Cookie 和 Session的这些知识你必须知道,面试必问!

    前言 会话:一次会话中包含多次请求和响应 注:一次会话表示浏览器第一次给服务器发送请求,会话建立,直到有一方断开为止 功能:在一次会话的多次请求间共享数据 方式: (1) 客户端会话技术:Cookie ...

  4. 如何用Folx的浏览器集成功能设置捕获类型

    Folx的浏览器集成功能,可将Folx的下载功能添加到浏览器的上下文菜单(也就是右键快捷菜单)中,方便用户使用Folx捕获页面中的下载链接,并创建下载任务. 那么,用户需要进行哪些设置才能使用Folx ...

  5. 利用css3和js实现旋转木马图片小demo

    先看效果图: 上源码 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  6. 学习netty遇到的关于 LineBasedFrameDecoder 的问题

    最近在看<Netty权威指南>这本书,关于TCP粘包/拆包,书中使用的是 LineBasedFrameDecoder 来解决的,但是我在实践的过程中出现了问题,上代码吧. 这个是 serv ...

  7. Thread.start() ,它是怎么让线程启动的呢?

    作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀.分享.成长,让自己和他人都能有 ...

  8. iOS如何实现语音播报及后台播放

    最近项目刚刚交付,偶然间用到了语音播报和语音搜索的功能.语音搜索我用的是讯飞的demo,感觉效果还不错,感兴趣的话可以去官网上面下载demo,里面讲的特别的详细,不过稍显麻烦一些.语音播报讯飞也有de ...

  9. Python之【模块】

    双层装饰器 一个函数可以被多个装饰器装饰: 多层装饰器的本质是:嵌套: 执行规则是:解释自下而上,执行自上而下 •简单的用户权限验证程序: USE_INFO = {} # 初始化一个字典,用户存放用户 ...

  10. 手写koa-static源码,深入理解静态服务器原理

    这篇文章继续前面的Koa源码系列,这个系列已经有两篇文章了: 第一篇讲解了Koa的核心架构和源码:手写Koa.js源码 第二篇讲解了@koa/router的架构和源码:手写@koa/router源码 ...