MySQL MHA应用实践(方案实战)
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,1、环境与条件已存在主从架构环境主机名IP地址主从角色MHA角色leo1192.168.3.2MasterMHA-nodeleo2192.168.3.3slaveMHA-nodeleo3192.168
千家信息网最后更新 2025年11月13日MySQL MHA应用实践(方案实战)
1、环境与条件
已存在主从架构环境
| 主机名 | IP地址 | 主从角色 | MHA角色 |
|---|---|---|---|
| leo1 | 192.168.3.2 | Master | MHA-node |
| leo2 | 192.168.3.3 | slave | MHA-node |
| leo3 | 192.168.3.4 | slave | MHA-node,MHA-manager |
| vip | 192.168.3.6 |
主从确保主从状态正常
mysql>show slave status\G;IO与SQL进程为YES参数更改
relay_log_purge = 0 #不自动删除relay log 以便于宕机修复数据log_bin = /data/log/leo-bin #从库开启binlog 以便于宕机修复数据expire_logs_days=7log-slave-updates=12、配置SSH
MHA在运行是会通过SSH服务连接到其他节点服务器进行检测或复制数据,因此需要集群内可免密码登陆。
在leo1-3内分别执行如下命令:
ssh-keygen -t rsassh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.2ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.3ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.43、安装MHA Node
对所有mysql节点安装MHA Node
1)安装perl语言 yum install perl-DBD-MySQL -y ###因为MHA用perl 开发 2)安装MHA Node rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm 下载地址 https://code.google.com/archive/p/mysql-master-ha/downloads 3)创建命令软连接方便使用: ls -s /app/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog ls -s /app/mysql/bin/mysql /usr/bin/mysql 4)检查MHA账户 grant all privileges on *.* to mha@'192.168.3%' identified by 'mha'; select user,host from mysql.user;4、MHA-Manager
Manager 可以安装在任何一台机器上。
1)使用epel源安装perl环境 wget -O /etc/yum.repo.d/epel.repo http://mirrors.aliyum.com/repo/eprl-6.repo 2)安装管理节点以来包 yum intall -u perl-Config-Tiny* epel-release perl-Log-Dispatch* perl-Parallel* per-Time* 3)安装MHA-Node rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm 4)安装MHA-Manger rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm5、配置MHA管理节点
mkdir -p /etc/mha mkdir -p /var/log/mha/app1 vi /etc/mha/app1.cnf [server default] manager_log=/var/log/mha/app1/manager.log manager_workdir=/var/log/mha/app1.log mater_binlog_dir=/app/mysql/data ##MHA保存主库binlog路径 user=mha ##mysql 数据库授权yonghu password=mha ping_interval=2 ##监控ping包时间间隔 repl_user=rep ##主从复制用户 repl_password=leo123 ssh_user=root repot_script=/usr/local/send_report ##故障发生后触发脚本 secondary_check_script=/usr/local/bin/masterha_secondary_check -s leo3 -s leo2 --user=root --master_host=leo1 --master_ip=192.168.3.2 --master_port=3306 ########manager 联系不上leo1时会通过leo2、leo3 查看leo1的状态 shutdown_script="" [server1] hostname=192.168.3.2 port=3306 [server2] hostname=192.168.3.4 port=3306 candidate_master=1 ##设定此参数后server2 会将优先升为主库 check_repl_delay=0 ##MHA忽律主从复制延迟 [server3] hostname=192.168.3.3 port=33066、启动及测试
1)检测ssh免密登陆 master_check_ssh -conf=/etc/mha/app1.cnf2)检测主从复制状态 master_check_repl -conf=/etc/mha/app1.cnf3)启动MHA nohup master_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failver < /dev/null > /var/log/mha/app1/manager.log 2>&1 & ##remove_dead_master_conf 在配置文件中删除master信息 ##ignore_last_failver 忽律上一次故障切换7、配置VIP漂移
1)利用keepalived 2)在配置文件中填入以下参数 master_ip_failover_script=/usr/local/bin/master_ip_failover 3)在脚本中加入以下参数 my = $vip= '192.168.3.6'; my $key= 0 my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip"; my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down"; chmod +x /etc/mha/master_ip_failover
主从
配置
参数
数据
节点
状态
环境
检测
命令
地址
故障
文件
脚本
角色
忽律
服务
登陆
管理
主机
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的数据如何连接到c
网络安全伴我成长心得体会
沧州erp软件开发
ZP网络安全培训视频百度云
赣icp软件开发
曹大禹网络安全黑板报
国家安全 网络安全演讲稿
数据库管理三种更新
全军出击手游服务器
战争附言全特装服务器
智能科学与技术软件开发
网络安全维护等级证书
大学网络安全宣传册
怎么查看服务器里运行的软件
互联网的科技与商业思维
计算机杀毒软件开发与实战
清苑软件开发工具
数据库如何存储大量文字
电脑服务器和局域网
泰豪科技能源互联网事业部
黄石串口服务器怎么收费
dcs的网络安全
泰拉瑞亚内网穿透服务器搭建
软件开发怎么增项
商用数据库软件
数据库系统概论教师表
宝塔数据库怎么用工具连接
遇到网络安全问题英文
教育孩子的网络安全
oa数据库