概述
今天我用homebrew安裝Mysql8.0,安裝完成之后,用Workbench和Sequel Pro連接數據庫都失敗了,並且都報caching_sha2_password相關的錯誤,經過查資料,原因是Mysql8.0的默認認證方式改用sha2了,但是Workbench和Sequel Pro里面都沒有sha2的插件,所以報錯了。我把解決方法記錄下來,供以后開發時參考,相信對其他人也有用。
解決方法
網上流行的解決方案是把sha2認證改回以前的認證方式,方法如下:
// 啟動Mysql服務
mysql.server start
// 登錄Mysql(需要輸入密碼)
mysql -u root -p
// 選擇數據庫(這一步不可省略)
use mysql
// 查看plugin設置
select host, user, plugin from user;
// 可以看到root的plugin是caching_sha2_password,我們希望改成mysql_native_password
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'xxxxx';
// 大功告成,關閉Mysql
exit
mysql.server stop
其它
其實我們還可以用ssh進行免密登錄,這樣就繞過了caching_sha2_password認證了(我的猜想)
以后用ssh登錄試一試~~