MySQL HandlerSocket插件安装问题及解决方法

您当前的位置:   首页 > 首页 > 解决方案
MySQL HandlerSocket插件安装问题及解决方法
发布时间:2026-01-29 05:10:49

MySql作为一款开源数据库,有着使用成本低、简单易用的特点。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。接下来我们来了解MySQL的NoSQL插件HandlerSocket。

安装环境:FreeBSD 7.0-RELEASE + MySQL-5.1.33

MySql基本安装步骤:

cd ahiguti-HandlerSocket-Plugin-for-MySQL-635b930   ./autogen.sh     ./configure --with-mysql-source=/site/soft/mysql-5.1.33 --with-mysql-bindir=/data2/mysql5.1/bin --with-mysql-plugindir=/data2/mysql5.1/lib/plugin   make && make install 

注:--with-mysql-plugindir选项指定的插件库程序安装目录需要预先创建。

安装过程中遇到了2个问题:

1. 执行configure脚本的时候报错:

configure: error: MySQL source version does not match MySQL binary version 

错误产生原因是:

configure 脚本中获取 MYSQL_SOURCE_VERSION 变量值的方式不完善,并不能根据 --with-mysql-source 选项指定源代码目录准确分析出版本号,获取代码片段为:

if test -f "$ac_mysql_source_dir/configure.in"then     MYSQL_SOURCE_VERSION=`cat $ac_mysql_source_dir/configure.in | grep "[MySQL Server]" | sed -e "s|.*([0-9]+.[0-9]+.[0-9]+[0-9a-zA-Z_-]*).*|1|"`  else { { echo "$as_me:$LINENO: error: invalid MySQL source directory: $ac_mysql_source_dir" >&5 echo "$as_me: error: invalid MySQL source directory: $ac_mysql_source_dir" >&2;}  { (exit 1); exit 1; }; }  fi 

解决办法:

修改 configure 脚本,将检查源代码与二进制版本号是否一致的判断逻辑注释掉。

#  if test a$MYSQL_SOURCE_VERSION != a$MYSQL_BIN_VERSION ; then #    { { echo "$as_me:$LINENO: error: MySQL source version does not match MySQL binary version" >&5  echo "$as_me: error: MySQL source version does not match MySQL binary version" >&2;}  #   { (exit 1); exit 1; }; }  #  fi 

2. 执行make时报错: 

libtool: link: only absolute run-paths are allowed 

这个问题估计是 HandlerSocket 安装包自带的 libtool 有问题,复制系统的将其替换掉就好了。

原文链接:http://www.cnblogs.com/edwardlost/archive/2011/04/12/2013589.html