如果報錯的資訊同下面的1一樣,那麼就按照1的方法解決,下面1這個方法是搜尋到的普遍的解決方法,如果不是報錯的libmysqlclient.so.18而是libmysqlclient.so.21,那麼就看2:
此時,我們把sysbench 1.0中percona的那個依賴包軟鏈去掉,就可以了[root@master /usr/local/hammerdb-2.23]# ./bin/tclsh8.6
% package require mysqltcl
couldn't load file "/usr/local/hammerdb-2.23/lib/mysqltcl-3.052/libmysqltcl3.052.so": /usr/lib64/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by /usr/local/hammerdb-2.23/lib/mysqltcl-3.052/libmysqltcl3.052.so)
如果需要使用sysbench 1.0時,重新換一下軟鏈即可,當然,由於這裡我們是使用的mysql 5.6.x的lib庫,兩者都可以使用,無需換軟連線[root@master /root]
#locate libmysqlclient.so.18
/home/mysql/program/mysql-5.6.34-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18
/home/mysql/program/mysql-5.6.34-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18.1.0
/home/woqu/qdata-dev-env/mysql5.5.25a/lib/libmysqlclient.so.18
/home/woqu/qdata-dev-env/mysql5.5.25a/lib/libmysqlclient.so.18.0.0
/usr/lib64/libmysqlclient.so.18
[root@master /root]
# ll /usr/lib64/libmysqlclient.so.18
lrwxrwxrwx 1 root 22 nov 1 11:56 /usr/lib64/libmysqlclient.so.18 -> libmysqlclient_r.so.16
[root@master /root]
# unlink /usr/lib64/libmysqlclient.so.18
[root@master /root]
# ln -s /home/mysql/program/mysql-5.6.34-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
hammerdb3.3版本需要libmysqlclient.so.21這個庫,解決上面的報錯方法是安裝mysql8.0的客戶端程式。[root@iz8vb409m8717wao0dkpb4z hammerdb-3.3]
# ./bin/tclsh8.6 #報錯
% package require mysqltcl
couldn't load file
"/usr/local/hammerdb-3.3/lib/mysqltcl-3.052/libmysqltcl3.052.so"
: libmysqlclient.so.21: cannot open shared object file: no such file or directory
% exit
這樣在/usr/lib64/mysql目錄下就會有需要的庫檔案了:[root@iz8vb409m8717wao0dkpb4z www]
# rpm -ivh mysql80-community-release-el7-3.noarch.rpm
[root@iz8vb409m8717wao0dkpb4z www]
# yum install mysql-community-client
[root@iz8vb409m8717wao0dkpb4z www]
# ll /usr/lib64/mysql/libmysql*
-rw-r--r-- 1 root root 57913972 mar 26 22:18 /usr/lib64/mysql/libmysqlclient.a
lrwxrwxrwx 1 root root 20 jun 24 16:45 /usr/lib64/mysql/libmysqlclient_r.so.18 -> libmysqlclient.so.18
lrwxrwxrwx 1 root root 24 jun 24 16:45 /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0
lrwxrwxrwx 1 root root 20 jun 24 16:45 /usr/lib64/mysql/libmysqlclient.so -> libmysqlclient.so.21
lrwxrwxrwx 1 root root 24 jun 24 16:45 /usr/lib64/mysql/libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
-rwxr-xr-x 1 root root 5983896 mar 26 22:04 /usr/lib64/mysql/libmysqlclient.so.18.1.0
lrwxrwxrwx 1 root root 25 jun 24 16:45 /usr/lib64/mysql/libmysqlclient.so.21 -> libmysqlclient.so.21.1.20
-rwxr-xr-x 1 root root 22144416 mar 26 22:18 /usr/lib64/mysql/libmysqlclient.so.21.1.20
-rw-r--r-- 1 root root 48398 mar 26 22:16 /usr/lib64/mysql/libmysqlservices.a
再次驗證環境變數:
[root@iz8vb409m8717wao0dkpb4z hammerdb-3.3]
# ./bin/tclsh8.6
% package require mysqltcl
3.052
% exit
沒有報錯就說明環境變數驗證通過。
shell中crontab報環境變數找不到問題
1 發現問題 乙個shell指令碼手動執行沒有問題,但是配置到crontab中失效,報錯環境變數找不到。2 分析問題 檢視使用者環境變數 bash profile 系統環境變數 etc profile發現環境變數存在,比較費解。3 解決問題 在.sh指令碼中加入source etc profile或...
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...
ant安裝 環境變數配置及驗證
一 安裝ant 二 配置環境變數 window中設定ant環境變數 ant home c apache ant 1.8.1 path c apache ant 1.8.1 bin classpath c apache ant 1.8.1 lib 注意 配置環境變數 我的電腦 屬性 高階 環境變數 如...