[mysql]解決 MySQL Authentication plugin ‘caching_sha2_password’ cannot be loaded 錯誤

參考網址:LINUX 技術手札

這個是 MySQL 8 在遠端登入時可能出現的錯誤信息:

ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded

MySQL 8 預設的登入認證方式是 caching_sha2_password, 如果登入的電腦是安裝 MySQL 5.7 Client, 則是使用 mysql_native_password 登入認證, 產生兼容性問題, 解決方法有以下兩個.

解決方法 1:
把 MySQL 8 設定成繼續使用舊有的 mysql_native_password 登入, 開啟 /etc/my.cnf, 在 [mysqld] 段落設定認證方式:

開啟 /etc/my.cnf

  • # vi /etc/my.cnf

/etc/my.cnf

  • [mysqld]

     

    default_authentication_plugin=mysql_native_password

然後重新啟動 MySQL:

Restart MySQL

  • # systemctl restart mysql

解決方法 2:

如果不想回到舊有的認證方法, 可以修改現有帳號, 或新增一個新帳號, 指定登入地址及使用 mysql_native_password, 例如客戶端的 IP 是 192.168.1.111, 在本機登入 MySQL 後, 輸入以下 MySQL 指令:

1

ALTER USER 'db-user'@'192.168.1.111' IDENTIFIED WITH mysql_native_password BY 'db-password';

本篇發表於 Linux系統。將永久鏈結加入書籤。