mysql 高可用架构 mha 之四 Error happened on checking configurations

本文详细记录了在Ubuntu16.04环境下,使用MHA0.58进行MySQL5.7.25复制健康检查时遇到的错误,并提供了具体的解决方案,涉及Perl脚本的修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

os: ubuntu 16.04
db: mysql 5.7.25
mha: 0.58

使用 masterha_check_repl 时一直报错
Fri Mar 8 11:31:30 2019 - [error][/usr/share/perl5/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. Redundant argument in sprintf at /usr/share/perl5/MHA/NodeUtil.pm line 201.
Fri Mar 8 11:31:30 2019 - [error][/usr/share/perl5/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.

# masterha_check_repl --conf=/etc/masterha/app1/app1.cnf
Fri Mar  8 11:31:29 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Fri Mar  8 11:31:29 2019 - [info] Reading application default configuration from /etc/masterha/app1/app1.cnf..
Fri Mar  8 11:31:29 2019 - [info] Reading server configuration from /etc/masterha/app1/app1.cnf..
Fri Mar  8 11:31:29 2019 - [info] MHA::MasterMonitor version 0.58.
Fri Mar  8 11:31:30 2019 - [error][/usr/share/perl5/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations. Redundant argument in sprintf at /usr/share/perl5/MHA/NodeUtil.pm line 201.
Fri Mar  8 11:31:30 2019 - [error][/usr/share/perl5/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.
Fri Mar  8 11:31:30 2019 - [info] Got exit code 1 (Not master dead).

MySQL Replication Health is NOT OK!

需要对 /usr/share/perl5/MHA/NodeUtil.pm 修改

# vi /usr/share/perl5/MHA/NodeUtil.pm

sub parse_mysql_major_version($) {
  my $str = shift;
  my $result = sprintf( '%03d%03d', $str =~ m/(\d+)/g );
  return $result;
}

修改为

# vi /usr/share/perl5/MHA/NodeUtil.pm

sub parse_mysql_major_version($) {
  my $str = shift;
  $str =~ /(\d+)\.(\d+)/;
  my $strmajor = "$1.$2";
  my $result = sprintf( '%03d%03d', $strmajor =~ m/(\d+)/g );
  return $result;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值