技术开发 频道

MySQL的NoSQL插件HandlerSocket

  【IT168 评论】  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 有问题,复制系统的将其替换掉就好了。

0
相关文章