MySQL MHA安装配置
时间:2020-07-11
本文章向大家介绍MySQL MHA安装配置,主要包括MySQL MHA安装配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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.配置各节点互信(密钥对)
rm -rf mv /home/mysql/.ssh ssh‐keygen cd /home/mysql/.ssh mv id_rsa.pub authorized_keys scp ‐r /root/.ssh 192.168.12.132:/home/mysql scp ‐r /root/.ssh 192.168.12.133:/home/mysql 验证: node1: ssh 192.168.12.132 date ssh 192.168.12.133 date node2: ssh 192.168.12.131 date ssh 192.168.12.133 date node3: 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.状态检查
检查互信: [mysql@node3 ~]$ 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 mysql@192.168.12.131(192.168.12.131:22) to mysql@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 mysql@192.168.12.131(192.168.12.131:22) to mysql@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 mysql@192.168.12.132(192.168.12.132:22) to mysql@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 mysql@192.168.12.132(192.168.12.132:22) to mysql@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 mysql@192.168.12.133(192.168.12.133:22) to mysql@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 mysql@192.168.12.133(192.168.12.133:22) to mysql@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. 检查主从复制状态: [mysql@node3 ~]$ 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
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
原文地址:https://www.cnblogs.com/orcl-2018/p/13285227.html
- 漏洞预警:厄运cookie(Misfortune Cookie)漏洞影响全球1200万台路由器
- 漏洞预警:Google安全研究人员发现NTP(网络时间协议)最新漏洞
- 揭秘:从内部源码看Facebook技术(第一集)
- Python 自然语言处理《釜山行》人物关系
- 注意:C++中double的表示是有误差的
- 完善RecyclerView,添加首尾视图
- 初识Node.js
- Linux学习 - SED操作,awk的姊妹篇
- Android面试之高级篇
- 解密所有APP运行过程中的内部逻辑
- RecyclerView数据动态更新
- android PakageManagerService启动流程分析
- RFID入门:Mifare1智能水卡破解分析
- RecyclerView点击事件处理
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- Redis的过期策略和内存淘汰策略及LRU算法详解
- 群晖Docker安装GitLab及腾讯企业邮件配置踩坑记录
- 基于docker搭建DNSmasq
- Django-admin配置和显示图标
- redis学习(八)
- 【剑指Offer】打印从1到最大的n位数
- 面试题-List之ArrayList、Vector、SynchronizedList、CopyOnWriteArrayList
- 面试题-JAVA设计模式之单例模式的5种实现方式
- 面试题-JAVA中的深拷贝、浅拷贝原理及实现
- Cross-Origin Resource Sharing (CORS)-跨域
- 多线程技术-CountDownLatch在业务中实践
- Mybatis源码阅读-准备环境搭建
- 【SpringBoot WebFlux 系列】WebFlux 之 Path 参数解析与 url 映射
- Oracle的expdp和impdp的使用方法
- python中的密度图与柱状图