最近在升級系統,資料庫升級到mysql8後,用程式或第三方工具連資料庫時出現了
1251- Client does not support authentication protocol
或 Unable to load authentication plugin 'caching_sha2_password' 的錯誤訊息
上網查了一下,發現mysql8之前的版本使用的密碼加密規則是mysql_native_password,但是在mysql8則是caching_sha2_password,所以需要修改密碼加密規則。
網路上的解法就是要連入改密碼規則,可以使用
输入use mysql和select user,host,plugin,authentication_string from user; 查看目前使用者的密碼加密規則,如要調整,請執行以下語法:
alter user 'root' @'localhost' identified with mysql_native_password by 'yourpassword';
但這種解法還是用舊有加密規則,所以如要用新版加密規則,你的第三方資料庫連線工具就要升級才行,像Navicat 升到最新就可以支援了