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
【编辑推荐】
- 数据库日常维护常用的脚本部分收录
- SQL与NoSQL——MySQL与NoSQL的融合
- 软件开发中质量与进度的痛
- 甲骨文发布最新BI软件 添加对iPad支持
- 微软WP7本地数据库之Sterling编程技巧