HammerDB驗證環境變數報錯的解決方法

2021-10-07 11:45:41 字數 3406 閱讀 5493

如果報錯的資訊同下面的1一樣,那麼就按照1的方法解決,下面1這個方法是搜尋到的普遍的解決方法,如果不是報錯的libmysqlclient.so.18而是libmysqlclient.so.21,那麼就看2

[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中percona的那個依賴包軟鏈去掉,就可以了
[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

如果需要使用sysbench 1.0時,重新換一下軟鏈即可,當然,由於這裡我們是使用的mysql 5.6.x的lib庫,兩者都可以使用,無需換軟連線
[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

hammerdb3.3版本需要libmysqlclient.so.21這個庫,解決上面的報錯方法是安裝mysql8.0的客戶端程式。

[root@iz8vb409m8717wao0dkpb4z www]

# rpm -ivh mysql80-community-release-el7-3.noarch.rpm

[root@iz8vb409m8717wao0dkpb4z www]

# yum install mysql-community-client

這樣在/usr/lib64/mysql目錄下就會有需要的庫檔案了:

[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 注意 配置環境變數 我的電腦 屬性 高階 環境變數 如...