天天看點

php7 連接配接mysql8 The server requested authentication method unknown to the client

主要原因 是因為 mysql 8 更新了密碼的驗證方式 caching_sha2_password, 之前一直是mysql_native_password方式

不過  我很好奇 為什麼php都更新到7.3.3了,為什麼還不支援caching_sha2_password ,無語。

解決辦法:

1.找到mysql的配置檔案my.cnf,我的配置檔案位置在   /usr/local/etc/my.cnf (請自行找到自己的電腦的配置檔案位址)。

2.在 [mysqld]下加入 default-authentication-plugin=mysql_native_password  一行

3.重新開機mysql(我的重新開機指令為mysql.server   restart)

4.進入mysql  修改登入mysql使用者的登入驗證方式

          ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

           5. 重新回到php嘗試連接配接mysql

      獲得的經驗:如果知道要連接配接的mysql版本為8以及8以上 ,最好在建立使用者的時候加上

    CREATE USER 'root123'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root123';

來指定驗證方式。

————————————————

版權聲明:本文為CSDN部落客「陰天 傍晚 車窗外」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/qq_36349366/java/article/details/88796533

繼續閱讀