在CentOS 5上安装sysbench基准测试工具,mysql版本5.0.18,通过编译安装,没有使用默认的yum安装。安装过程中遇到了这样的提示错误:

"/usr/bin/ld: cannot find -lmysqlclient_r"

出错的原因在于缺少某种库文件或者对应的库文件版本不一致。

这里的原因是编译安装mysql时没有安装mysql-devel文件,所以就不存在mysqlclient_r.so,所以通过yum -y install mysql-devel安装mysql-devel,安装的mysql-devel放置在/usr/lib/mysql目录下。

但是问题还是没有解决,同样的问题依然存在。

解决的方法,做一个软连接,把通过yum安装的mysql-devel库文件指向编译安装mysql时的lib目录下:

ln -s /usr/lib/mysql/libmysqlclient_r.so /usr/local/mysql/lib/mysql/libmysqlclient_r.so

问题解决了,通过重新编译安装sysbench:

./configure --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql

make;make install

测试sysbench:cpu的基准测试

sysbench --test=cpu --cpu-max-prime=5000 run

 


遇到的另一个问题:

安装包的时候运行./configure 时出现下面的提示:
checking build system type... Invalid configuration `i686-pc-linux-': machine `i686-pc-linux' not recognized
configure: error: /bin/sh config/config.sub i686-pc-linux- failed

解决方法:

./configure --build=i686-pc-linux-gnu