MHA环境搭建【3】node相关依赖的解决
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
最新文章
- js_继承
- 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式
- 基于C#和Asp.NET MVC开发GPS部标监控平台
- 3_for循环的拓展应用
- Android开发学习之路-Service和Activity的通信
- 发现IE6的一个BUG,添加受信任站点后,页面无法跳转
- NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)
- 关于EditText的OnClickListener失效的解决办法
- Apache, Nginx获得nginx代理后的真实用户Ip
- 4. Median of Two Sorted Arrays
- 第一天CSS实战培训及笔记及感想
- ALM11需求和测试覆盖率图解1
- Apache2.4.x与Apache2.2.x的一些区别
- Jdk1.6 JUC源码解析(7)-locks-ReentrantLock
- Linux - 简明Shell编程03 - 字符串(String)
- Django学习之十: staticfile 静态文件
- window nginx 基础命令
- MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
- 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····
- Linode KVM安装Windows系统的设置方法
热门文章
- 从事web前端的这些日子
- C语言里面关于数组的一个容易忽视的小细节
- cf C. Vasya and Robot
- python中的嵌套类(内部类调用外部类中的方法函数)
- 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序
- BZOJ1628: [Usaco2007 Demo]City skyline
- jQuery的animate方法在IE8下出现小问题
- 浏览器内核Trident/Gecko/WebKit/Presto
- C/C++笔试准备(2)
- WebSphere性能优化的几个方法