上个博客写到通过二进制安装包进行安装,这次通过下载源码方式进行安装。
0.安装环境
- CentOS 7.2 虚机
- Mariadb 10.2.7
1.从官网下载源码
打开https://github.com/akopytov/sysbench,登录并选择【Clone or download】
2.安装依赖
[root@localhost /]# yum -y install make automake libtool pkgconfig libaio-devel vim-common
#使用MySQL或mariadb,在RHEL/CentOS 5下需要替换为 mysql-devel,因为新版本的centos默认安装了mariadb
[root@localhost /]# yum -y install mariadb-devel
# 使用 PostgreSQL
[root@localhost /]# yum -y install postgresql-devel
3.编译安装
进入sysbench下载目录,执行autogen.sh生成configure文件,并执行配置和安装。或参考README文档中的步骤执行。
[root@localhost /]# ./autogen.sh
# 如果支持PostgreSQL数据库,需要添加 --with-pgsql
[root@localhost /]# ./configure
# 如果 make 没有报错,就会在 sysbench 目录下生成二进制命令行工具 sysbench
[root@localhost /]# make
[root@localhost /]# make install
常见问题:
1)如果数据安装目录修改过,需要在配置时明确指定 –with-mysql-includes 和 –with-mysql-libs 目录
举例:
[root@localhost /]# ./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
[root@localhost /]# ./configure --prefix=/db/sysbench --with-mysql-includes=/db/mysql/include --with-mysql-libs=/db/mysql/lib
2)缺少依赖会报【依赖包名 版本 wasn’t found, exiting】 ,安装即可
[root@localhost /]# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
[root@localhost /]# yum install automake
[root@localhost /]# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting
[root@localhost /]# yum install libtool
3)默认MySQL,如果需要测试Oracle/PostgreSQL,则在configure时需要加上–with-oracle或者–with-pgsql参数
4.测试
执行sysbench出现版本和读取标准输入,说明安装成功。
常见问题
1)sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file:
No such file or directory
问题原因:sysbench无法找到mysql的库文件,可能是环境变量LD_LIBRARY_PATH没有设置,设置后即可解决该问题:
添加export LD_LIBRARY_PATH=/db/mysql/lib即可
[root@localhost /]# sysbench
[root@localhost /]# sysbench --help # 可获取帮助
至此,sysbench安装完成,可以测试啦。
参考
感谢以下大神的博客
[1]我蒋乐哥哥:http://www.cnblogs.com/JiangLe/p/7059136.html
[2]iMySQL | 老叶茶馆:http://imysql.cn/2014/10/17/sysbench-full-user-manual.shtml
[3]半瓶子酱油:http://blog.itpub.net/29733787/viewspace-1383197/