Mysql

載入共享庫時出錯:libmysqlclient.so.20:無法打開共享對象文件:沒有這樣的文件或目錄

  • December 10, 2020

所以我正在執行一個大學在 debian 上編寫的程序。當我這樣做時,會出現以下錯誤:

error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory 

由於搜尋結果不同,我嘗試安裝以下軟體包:

apt-get install libmariadbclient-dev-compat
apt-get install default-libmysqlclient-dev
apt-get install mysql-common

類似的搜尋:

find .  -name 'libmysqlclient*' 
locate libmysqlclient.so

得到什麼作為輸出。

我使用 yum 找到了一個假定的修復程序,但由於我使用的是 debian,所以它不是我的解決方案。我發現 .20 是關於 Oracle MySQL 5.7 ( https://community.centminmod.com/threads/libmysqlclient-so-missing.9052/ )

有誰知道如何解決這個問題?提前致謝。

顯然,該程序是針對從 www.mysql.com 下載的 MySQL 版本編譯的;libmysqlclient.so.20 在 Debian 中不可用。

您可以從https://dev.mysql.com/downloads/file/?id=477124下載一個 .deb,它配置您的 Debian(基於)系統以訪問 www.mysql.com apt 儲存庫。然後,您可以更新 apt 數據:

# apt-get update

並安裝正確的庫:

# apt-get install libmysqlclient20

請注意,這可能需要刪除您的 Debian 版本的 MySQL(如果已安裝)!所以仔細考慮你想要什麼。

另一種方法是瀏覽 apt 儲存庫,然後手動下載 libmysqlclient20 .deb。打開包裝,例如:

# dpkg-deb --extract libmysqlclient20_5.7.23-1debian9_amd64.deb /tmp/libmysqlclient20

然後,您可以將 libmysqlclient.so.20 複製到搜尋共享庫的某個位置,例如 /usr/local/lib/,它應該可以工作。

引用自:https://unix.stackexchange.com/questions/471788