当前位置: 首页 > article >正文

MySQL5.7.36之高可用架构部署-MHA

配置关键:程序软连接(所有节点)。因为MHA只能从/usr/bin中进行调用
ln -s /application/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
ln -s /application/mysql/bin/mysql /usr/bin/mysql

1、配置互信(主库上操作 )

rm -rf /root/.ssh
ssh-keygen
cd /root/.ssh
mv id_rsa.pub authorized_keys
scp -r /root/.ssh root@192.168.31.214:/root #发送到214从库
scp -r /root/.ssh root@192.168.31.215:/root #发送到215从库

2、验证各个节点

        a、主库213

ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date

        b、从库214

ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date

        c、从库215

ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date

3、所有节点安装yum源扩展包及Node软件依赖包

yum install -y epel-release-latest-7.noarch.rpm
yum install -y perl-DBD-MySQL ncftp perl-DBI
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

4、安装Manager软件(也可以单独找一台。我正常是最后一台MySQL服务器)

yum install -y perl-Config-Tiny.noarch perl-Time-HiRes.x86_64 perl-Parallel-ForkManager perl-Log-Dispatch.noarch
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

5、创建MHA需要的用户(主库操作)

create user mha@'%' identified by '123456';
grant all privileges on *.* to mha@'%' with grant option;

6、配置文件整理(最后一台MySQL服务器上,因为我们mha管理是防止这台服务器上的)

        a、创建mha配置文件目录

mkdir -p /etc/mha

        b、创建mha日志目录

        

mkdir -p /var/log/mha/app1

        c、编辑mha配置文件

vi /etc/mha/app1.cnf
[server default]
manager_log=/var/log/mha/app1/manager.log
manager_workdir=/var/log/mha/app1
master_binlog_dir=/application/mysql/data/logs
user=mha
password=123456
ping_interval=2
repl_password=123456
repl_user=repl
ssh_user=root
[server1]
hostname=192.168.31.213
port=3306
[server2]
hostname=192.168.31.214
port=3306
[server3]
hostname=192.168.31.215
port=3306

        d、MHA状态检查

masterha_check_ssh --conf=/etc/mha/app1.cnf #互信检查
masterha_check_repl --conf=/etc/mha/app1.cnf #主从复制检查

        e、开启MHA

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 &

        f、查看MHA状态

masterha_check_status --conf=/etc/mha/app1.cnf

        g、查看监控状态

tail -f /var/log/mha/app1/manager.log

7、模拟故障及恢复

第一步:shutdown停止主库,此时MHA服务监控会自动更新MHA服务的操作流程;
第二步:将之前的主库启动并进入;
第三步:再加入主从队列及开启从复制;
第四步:在MHA的配置文件里面再次加上当前的从库配置;
第五步:再次检查互信、主从复制及开启MHA。

http://www.kler.cn/a/294184.html

相关文章:

  • javaWeb小白项目--学生宿舍管理系统
  • LeetCode题解:5.最长回文子串【Python题解超详细,中心拓展、动态规划、暴力解法】
  • C/C++语言基础--C++模板与元编程系列六,C++元编程相关库的讲解与使用
  • 三周精通FastAPI:37 包含 WSGI - Flask,Django,Pyramid 以及其它
  • git下载慢下载不了?Git国内国外下载地址镜像,git安装视频教程
  • apache2配置多站点
  • 大数据-118 - Flink DataSet 基本介绍 核心特性 创建、转换、输出等
  • 探索 Zed 编辑器:速度与协作的巅峰之作
  • 怎麼實現爬蟲自動換代理-okeyproxy
  • 用idea写Spark程序时,想要在控制台打印日志?
  • CentOS7 部署 Zabbix 监控平台———监控网络设备,Linux 主机、Windows 主机
  • 启动Spring Boot报错
  • C++11中新引入的enum类型
  • 20240903软考架构-------软考111-115答案解析
  • 匈牙利算法实现(from scipy.optimize import linear_sum_assignment)
  • GNN中的Over-smoothing与Over-squashing问题
  • 使用SymbolGlyph和SymbolSpan在HarmonyOS中实现高级图标效果
  • 【扩散模型(十)】IP-Adapter 源码详解 4 - 训练细节、具体训了哪些层?
  • 新加坡裸机云多IP服务器特性
  • java-在idea中antrl的hello world
  • 63、Python之函数高级:装饰器缓存实战,优化递归函数的性能
  • Spring Boot启动卡在Root WebApplicationContext: initialization completed in...
  • TulingMember进销存系统
  • Save OpenAI response in Azure function to Blob storage
  • 简单上手 PIPENV
  • 2024高教社杯数学建模国赛ABCDE题选题建议+初步分析