MHA安装手记

 目前mha最新的版本代码已经不放到google code网站了,而是放在github上,最新的版本为0.58,github链接如下:
  mha manager:https://github.com/yoshinorim/mha4mysql-manager
  mha node:https://github.com/yoshinorim/mha4mysql-node 

 安装MHA服务器和客户端

# yum install perl-DBD-MySQL

   /etc/masterha/app1.cnf 配置文件

 

[server default]
manager_workdir=/etc/masterha/app1    //设置manager的工作目录
manager_log=/var/log/masterha/app1/manager.log  //设置manager的日志
secondary_check_script= masterha_secondary_check -s 192.168.60.166 -s 192.168.60.167
master_ip_failover_script=/usr/local/master_ip_failover     //设置自动failover时候的切换脚本
 
user=mha
password=123456
 
ssh_user=root    //设置ssh的登录用户名
repl_user=repl   //设置复制环境中的复制用户名
repl_password=123456   //设置复制用户的密码
ping_interval=1     //设置监控主库,发送ping包的时间间隔,默认是3秒,尝试三次没有回应的时候自动进行
 
[server1]
hostname=192.168.60.166
candidate_master=1
check_repl_delay=0
master_binlog_dir=/usr/local/mysql/data
 
[server2]
hostname=192.168.60.167
candidate_master=1  //设置为候选master,如果设置该参数以后,发生主从切换以后将会将此从库提升为主库
 
check_repl_delay=0  #如果候选master有延迟的话,relay日志超过100m,failover切换不能成功,加上此参数后会忽略延迟日志大小。
master_binlog_dir=/usr/local/mysql/data
 
[server3]
hostname=192.168.60.168
no_master=1   #从不将这台主机转换为master
 
ignore_fail=1  #如果这个节点挂了,mha将不可用,加上这个参数,slave挂了一样可以用
master_binlog_dir=/usr/local/mysql/data

 

 

 

  

在manager节点上:

复制代码
# yum install perl-DBD-MySQL
# yum install perl-Config-Tiny
# yum install perl-Log-Dispatch
# yum install perl-Parallel-ForkManager
# yum install -y rrdtool perl-rrdtool rrdtool-devel perl-Params-Validate

运行 masterha_check_repl --conf=/etc/masterha/app1.cnf 报错:
 Testing mysql connection and privileges..sh: mysql: command not found
找不到mysql命令,把你mysql安装的目录下的bin目录,做一个软链接就可以了
ln -s /usr/local/mysql/bin/mysql /usr/bin

运行masterha_check_repl --conf=/etc/masterha/app1.cnf 报错:
Can't exec "mysqlbinlog": 没有那个文件或目录 at /usr/share/perl5/vendor_perl/MHA/BinlogManager.pm line 106.

 在node节点上执行 which mysqlbinlog,比如我的结果就是

   [localhost~]$ which mysqlbinlog
   /usr/local/mysql/bin/mysqlbinlog

   需要做一个软连接

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

 

  yum包老是缺少包:修改yum的源

      wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-6.repo 

 

  阿里云: http://mirrors.aliyun.com/help/epel

复制代码
posted @   zping  阅读(1270)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示