<MySQL> caching_sha2_password issue

黃瑞昌
Oct 26, 2023

--

在用 python 存取資料庫時,執行時期有些較新的環境會反應錯誤
MySQLdb._exceptions.OperationalError: (2059, “Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/Users/richard/anaconda3/lib/plugin/caching_sha2_password.so, 0x0002)

很簡單,整句拿去 Google,得到

其中,方法一這介面我根本沒找到,方法二不錯,可運作在單一帳號
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

方法三
vim my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password

我一直以為我找錯設定檔,其實我找對了,只是這個設定是指 default 使用 native password, 然後"後續新增的帳號會使用此原則",但早已增加好的 user 不會受到改變!!!!

最後我要提出疑問,目前無法解決:我有好幾個不同的專案目錄,各自擁有自己的 venv(python 下的虛擬環境,很好用),其中某一個專案的虛擬環境根本不用做這些,天生有能力用 caching_sha2 的設定連線,原因我也不知道。只能說,不能重製的環境,對我沒有價值 Orz.

--

--

No responses yet