mysql5.7壓測工具sysbench dbt2安裝找不到lmysqlclient動態連結庫
問題
近期安裝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的錯誤
- 以上兩種路徑下的連結庫在安裝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即可
總結
發現問題仔細分析錯誤日誌,如果不能解決根據日誌關子字也能在搜尋引擎中快速定位問題