Sequel pro 連接 Mysql 8 錯誤訊息修正 (caching_sha2_password cannot be loaded)

『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以上),報以上錯,解決辦法如下:

  1. 啟動mysql

    brew services start mysql

  2. 進入mysql

    mysql -u root -p

  3. 查看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 → 置換成你的密碼