问题
近期安装linux centos6安装mysql5.7后想用sysbench、dbt2进行压测,死活安装不上
cd /usr/local/sysbench
make && make install
出现错误,lmysqlclient文件在/user/local/mysql/lib下找不到,而显示的位置正好是我安装mysql的位置,于是我将5.7lib下面的libmysqlclient.so做软连接,命名为它找的文件
ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lcal/mysql/lib/lmysqlclient
重新执行编译安装命令
make && make install
仍然出现同样的错误,决定网上寻找答案,发现网上千篇一律的抄袭,下面总结我找到的答案,希望能帮助到更多的朋友
C程序在安装时会寻找它所依赖的动态链接库,查找类型分为
- 操作系统级别的共享库和基础的系统工具库,如/lib和/usr/lib(64位还会有/lib64和/usr /lib64、/usr/X11R6/lib(图形界面))目录下面,确保了Linux上面各种程序能够正常的运行。
- 应用程序级别的系统共享库,后期安装增加的/usr/local/lib和/usr/local/lib64这两个目录下面
- 以上两种路径下的链接库在安装c程序时候程序会自动去其目录下寻找,找不到就会出现file not found的错误
- 安装程序前手动设置动态链接库位置
- 将/user/local/mysql/lib路径增加到/etc/ld.so.conf文件中去,执行ldconfig -v让系统重新加载动态链接库
- 在/etc/profile中添加共享库的路径,export LD_LIBRARY_PATH=/usr/local/mysql/lib,source /etc/profile生效;如果只需要临时生效,则在命令行执行export LD_LIBRARY_PATH=/usr/local/mysql/lib即可
总结
发现问题仔细分析错误日志,如果不能解决根据日志关子字也能在搜索引擎中快速定位问题