mha的node软件包依赖于perl-DBD-Mysql 这个包,我之前有遇到过用yum安装perl-DBD-MySQL,安装完成后不能正常使用的情况,所以这里选择源码编译安装;

perl5.10.1这个版本的Socket 模块由于没有导出gethostinfo,getipinfo这两个函数,所以mha在这个版本的perl解释器上执行会出错,所以要升级一下Socket模块。

【1】安装依赖的依赖、由于要用到编译安装、所以先要把gcc编译器安装上。

yum -y install gcc gcc-c++

【2】从www.cpan.org中下载相关perl模块并安装

1、perl-DBD-MySQL、perl-ExtUtils-Constant、perl-Socket

2、找到模块的链接

3、点击左边栏的download就可以下载了

为什么在这里把cpan说这么细、主要是我感觉这个UI对用户不在友好

4、安装ExtUtils-Constant 因为之后安装的Socket 模块要依赖到它

tar -xzvf ExtUtils-Constant-0.23.tar.gz
cd ExtUtils-Constant-0.23
perl Makefile.PL
make
make install

5、更新Socket模块

tar -xzvf Socket-2.024.tar.gz
cd Socket-2.024
perl Makefile.PL
make
make install

6、安装DBD-MySQL模块

tar -xzvf DBD-mysql-4.038.tar.gz
cd DBD-mysql-4.038
perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql
make
make install

6.1、就我目前的经验来说,mha最容易出错的地方就是这样perl-DBD-MySQL了;安装的时候没有报错不一定就可以说明你安装成功了,还是要测试一下的。

perl-DBD-MySQL的测试脚本如下

#!/usr/bin/perl

use strict;
use warnings;
use DBI; #Connect to the database.
my $dbh = DBI->connect("DBI:mysql:database=test;host=127.0.0.1",
"appuser", "",
{'RaiseError' => });
my $sth = $dbh->prepare("SELECT 1 as value");
$sth->execute();
my $result = $sth->fetchrow_hashref();
print "----ok---- $result->{value}\n";
$sth->finish();
$dbh->disconnect();

常见的错误有两处:

1、没有导出mysql的共享库文件/usr/local/mysql/lib/ 这个时候就算你编译DBD-MySQL安装通过了,在你编译mha-node的时候,它还是会报没有安装perl-DBD-MySQL

2、在编译DBD-MySQL的时候没有指定--mysql_config &--with-mysql 、这种情况下mha-node还是可以编译成功的,在mha运行的时候连接不上mysql;

【3】安装mha-node软件包

unzip mha4mysql-node-master.zip
cd mha4mysql-node-master
perl Makefile.PL
make
make install

最新文章

  1. js_继承
  2. 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式
  3. 基于C#和Asp.NET MVC开发GPS部标监控平台
  4. 3_for循环的拓展应用
  5. Android开发学习之路-Service和Activity的通信
  6. 发现IE6的一个BUG,添加受信任站点后,页面无法跳转
  7. NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)
  8. 关于EditText的OnClickListener失效的解决办法
  9. Apache, Nginx获得nginx代理后的真实用户Ip
  10. 4. Median of Two Sorted Arrays
  11. 第一天CSS实战培训及笔记及感想
  12. ALM11需求和测试覆盖率图解1
  13. Apache2.4.x与Apache2.2.x的一些区别
  14. Jdk1.6 JUC源码解析(7)-locks-ReentrantLock
  15. Linux - 简明Shell编程03 - 字符串(String)
  16. Django学习之十: staticfile 静态文件
  17. window nginx 基础命令
  18. MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
  19. 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····
  20. Linode KVM安装Windows系统的设置方法

热门文章

  1. 从事web前端的这些日子
  2. C语言里面关于数组的一个容易忽视的小细节
  3. cf C. Vasya and Robot
  4. python中的嵌套类(内部类调用外部类中的方法函数)
  5. 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序
  6. BZOJ1628: [Usaco2007 Demo]City skyline
  7. jQuery的animate方法在IE8下出现小问题
  8. 浏览器内核Trident/Gecko/WebKit/Presto
  9. C/C++笔试准备(2)
  10. WebSphere性能优化的几个方法