『caching_sha2_password』 cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found
在用Sequel Pro連接本地MySQL的時候(用brew安裝mysql,版本應該是在8以上),報以上錯,解決辦法如下:
-
啟動mysql
brew services start mysql
-
進入mysql
mysql -u root -p
-
查看Host, User, plugin
use mysql;
select Host, User, plugin from user;
看到root對應的plugin為caching_sha2_password,要將其更改為mysql_native_password,如下:
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
再執行:
select Host,User,plugin from user;
flush privileges;
Ctrl + Z退出;
Method 2
MySQL 8.0 部屬後發現一個問題就是,用navicat連不上去,錯誤 1251
似乎是密碼加密方法不同,由原本mysql_native_password 改成8.0的 caching_sha2_password
解決方法就是去mysql裡面修改了
先登入mysql裡面
mysql --host=localhost --user=myname --password=password
接著輸入
ALTER USER 'root'@'%' IDENTIFIED BY 'your-password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your-password';
FLUSH PRIVILEGES;
root → 可以修改你的user 名稱
% → 可以改 localhost
your-password → 置換成你的密碼