12
返回列表 发新帖
楼主: flzhang

安装MHA执行检查命令时报错

[复制链接]
论坛徽章:
32
优秀写手
日期:2014-07-23 06:00:13技术图书徽章
日期:2016-08-05 10:29:11秀才
日期:2016-08-05 10:33:40秀才
日期:2016-08-05 10:34:04秀才
日期:2016-08-05 10:34:04技术图书徽章
日期:2016-08-05 10:34:13秀才
日期:2016-08-05 10:38:01秀才
日期:2016-08-05 10:38:26秀才
日期:2016-08-05 10:38:26技术图书徽章
日期:2016-08-05 10:38:34
11#
 楼主| 发表于 2017-11-18 10:18 | 只看该作者
本帖最后由 flzhang 于 2017-11-18 10:20 编辑
lujinke 发表于 2017-11-17 16:47
那就有点奇怪了,把log_level调成debug看看,你如果会写perl的话,直接看出错的行,加一些print信息进去 ...

加了log_level后打印出日志是
Sat Nov 18 10:10:48 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33092) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
Sat Nov 18 10:10:48 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33093) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
Sat Nov 18 10:10:48 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33091) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
我把hostname 改成,127.0.0.1 、主机名、本机ip都不成。
我现在/etc/hosts 如下
[root@iZ2zehy7gff0kpg1swp1czZ bin]# cat /etc/hosts
127.0.0.1   localhost
::1         localhost
172.17.225.197 iZ2zehy7gff0kpg1swp1czZ
然后现在用msyql连接
[root@iZ2zehy7gff0kpg1swp1czZ bin]# mysql -uroot -p123456 -P33091
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
不加-后127.0.0.1 就会出上面问题,不知有没有影响

总之根据打印信息好像是server是未知的,无法识别

使用道具 举报

回复
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
12#
发表于 2017-11-20 14:08 | 只看该作者
flzhang 发表于 2017-11-18 10:18
加了log_level后打印出日志是
Sat Nov 18 10:10:48 2017 - [debug] Got MySQL error when connecting 12 ...

把配置里面的host换成127.0.0.1试过没有呢?
[server1]
hostname=127.0.0.1
#ip=127.0.0.1
port=33091
ssh_port=443
master_binlog_dir="/apps/dbdat/mysql5_data33091/log"
candidate_master=1
ignore_fail=1
[server2]
hostname=127.0.0.1
#ip=127.0.0.1
port=33092
ssh_port=443
master_binlog_dir="/u01/mysql_5.7/s2"
candidate_master=1
ignore_fail=1
[server3]
hostname=127.0.0.1
#ip=127.0.0.1
port=33093
ssh_port=443
master_binlog_dir="/u01/mysql_5.7/s3"
candidate_master=1
ignore_fail=1

使用道具 举报

回复
论坛徽章:
32
优秀写手
日期:2014-07-23 06:00:13技术图书徽章
日期:2016-08-05 10:29:11秀才
日期:2016-08-05 10:33:40秀才
日期:2016-08-05 10:34:04秀才
日期:2016-08-05 10:34:04技术图书徽章
日期:2016-08-05 10:34:13秀才
日期:2016-08-05 10:38:01秀才
日期:2016-08-05 10:38:26秀才
日期:2016-08-05 10:38:26技术图书徽章
日期:2016-08-05 10:38:34
13#
 楼主| 发表于 2017-11-20 16:55 | 只看该作者
lujinke 发表于 2017-11-20 14:08
把配置里面的host换成127.0.0.1试过没有呢?
[server1]
hostname=127.0.0.1

如下是目前所有配置,
[root@iZ2zehy7gff0kpg1swp1czZ bin]# vi /etc/masterha/app.cnf
[server default]
user=root
password=123456
#port=33091
ssh_user=root
ssh_port=443
repl_user=rpl_user
repl_password=rpl_pass
ping_interval=1
ping_type=CONNECT
log_level=debug
manager_workdir=/u01/mha/etc/app
manager_log=/u01/mha/log/manager.log
remote_workdir=/u01/mha/etc/app
master_binlog_dir="/u01/mysql_5.7/s1"

#master_ip_failover_script="/u01/mha/etc/master_ip_failover"
#master_ip_online_change_script="/u01/mha/etc/master_ip_failover"

shutdown_script=""

report_script=""

#check_repl_delay=0

[server1]
hostname=127.0.0.1
#ip=
port=33091
ssh_port=443
#master_binlog_dir="/apps/dbdat/mysql5_data33091/log"
master_binlog_dir=/u01/mysql_5.7/s1
candidate_master=1
ignore_fail=1

[server2]
hostname=127.0.0.1
#ip=127.0.0.1
port=33092
ssh_port=443
master_binlog_dir=/u01/mysql_5.7/s2
candidate_master=1
ignore_fail=1

[server3]
hostname=127.0.0.1
#ip=127.0.0.1
port=33093
ssh_port=443
master_binlog_dir=/u01/mysql_5.7/s3
candidate_master=1
ignore_fail=1

#[binlog1]
#hostname=zlhost
#master_binlog_dir=/u01/mysql_5.7/s1
#ignore_fail=1
#no_master=1
系统 用传统主从方式日志方式同步,不是gtid
可是报同样错误
[root@iZ2zehy7gff0kpg1swp1czZ ~]# cd /usr/local/MHA/mha4mysql-manager-master/bin/
[root@iZ2zehy7gff0kpg1swp1czZ bin]# masterha_check_repl --conf=/etc/masterha/app.cnf
Mon Nov 20 16:53:30 2017 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Mon Nov 20 16:53:30 2017 - [info] Reading application default configuration from /etc/masterha/app.cnf..
Mon Nov 20 16:53:30 2017 - [info] Reading server configuration from /etc/masterha/app.cnf..
Mon Nov 20 16:53:30 2017 - [info] MHA::MasterMonitor version 0.57.
Mon Nov 20 16:53:30 2017 - [debug] Connecting to servers..
Mon Nov 20 16:53:30 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33093) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
Mon Nov 20 16:53:30 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33091) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
Mon Nov 20 16:53:30 2017 - [debug] Got MySQL error when connecting 127.0.0.1(127.0.0.1:33092) :2005:Unknown MySQL server host '[127.0.0.1]' (0)
Mon Nov 20 16:53:31 2017 - [error][/root/perl5/lib/perl5/MHA/ServerManager.pm, ln188] There is no alive server. We can't do failover
Mon Nov 20 16:53:31 2017 - [error][/root/perl5/lib/perl5/MHA/MasterMonitor.pm, ln427] Error happened on checking configurations.  at /root/perl5/lib/perl5/MHA/MasterMonitor.pm line 329.
Mon Nov 20 16:53:31 2017 - [error][/root/perl5/lib/perl5/MHA/MasterMonitor.pm, ln525] Error happened on monitoring servers.
Mon Nov 20 16:53:31 2017 - [info] Got exit code 1 (Not master dead).

MySQL Replication Health is NOT OK!

使用道具 举报

回复
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
14#
发表于 2017-11-24 17:23 | 只看该作者
本帖最后由 lujinke 于 2017-11-24 17:26 编辑
flzhang 发表于 2017-11-20 16:55
如下是目前所有配置,
[root@iZ2zehy7gff0kpg1swp1czZ bin]# vi /etc/masterha/app.cnf
[server defaul ...

登上去看了一下,发现是你的DBHelper.pm文件有问题:
198     $self->{dsn} = "DBI:mysql:;host=[$host];port=$port;mysql_connect_timeout=4";

检查各server的状态时,这个dsn初始的有问题,host的赋值$host外面多了一对中括弧,去掉即可
你的包是哪里下载的,一般来说不可能有这样的问题啊

你的三个实例的主从关系帮你修复了,现在用masterha_check_repl --conf=/etc/masterha/app.cnf检查,是OK的了

我在github上看了一下DBHelper最新的代码,发现里面确实多了一对中括弧,我用的是0.56版本,里面是没有这一对中括弧的。





使用道具 举报

回复
论坛徽章:
32
优秀写手
日期:2014-07-23 06:00:13技术图书徽章
日期:2016-08-05 10:29:11秀才
日期:2016-08-05 10:33:40秀才
日期:2016-08-05 10:34:04秀才
日期:2016-08-05 10:34:04技术图书徽章
日期:2016-08-05 10:34:13秀才
日期:2016-08-05 10:38:01秀才
日期:2016-08-05 10:38:26秀才
日期:2016-08-05 10:38:26技术图书徽章
日期:2016-08-05 10:38:34
15#
 楼主| 发表于 2017-11-25 18:55 | 只看该作者
首先非常感谢大神的帮助,问题解决了,100个赞!
1 这个问题是源码的问题了? 我是从https://github.com/yoshinorim/mha4mysql-manager
   https://github.com/yoshinorim/mha4mysql-node 这俩地下载的,您一般下mha在哪里下呢?
google么 ,这里连不上的。
2 从日志和报错提示,都看不到DBHelper.pm这个文件,是怎么能定位到这个文件有问题呢,还请给个思路

使用道具 举报

回复
论坛徽章:
8
ITPUB8周年纪念徽章
日期:2009-09-27 10:21:222010新春纪念徽章
日期:2010-03-01 11:20:06ITPUB9周年纪念徽章
日期:2010-10-08 09:31:21ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
16#
发表于 2020-2-27 15:06 | 只看该作者
我这里部署的是5.7的也是报这个错误,检查了数据库都能连接得上,不知道如何定位了

我这里的文件代码没有中括号的问题
    $self->{dsn} = "DBI:mysql:;host=$host;port=$port;mysql_connect_timeout=4";

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表