Mysql的caching_sha2_password的坑


概述

今天我用homebrew安裝Mysql8.0,安裝完成之后,用Workbench和Sequel Pro連接數據庫都失敗了,並且都報caching_sha2_password相關的錯誤,經過查資料,原因是Mysql8.0的默認認證方式改用sha2了,但是WorkbenchSequel 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登錄試一試~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM