mysql8的預設密碼加密方式是caching_sha2_password
,PHP7.4連接mysql的加密方式也為caching_sha2_password
,這個地方要注意。
當為了相容舊版的客戶端不只是PHP,還有在主從複製的時候也會有問題,mysql8的認證方式改回了mysql_native_password
。
如果使用PHP7.4的情況下,這裡就會認證報錯,因為7.4是caching_sha2_password
加密方式,因此這裡我可以改用成PHP7.2;
不改配置的情況下,可以使用下面的方式更改mysql8的加密方式,為root用戶更改密碼:
USE mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
新增安裝php7.2;
apt-get install php7.2-fpm php7.2-mysql 等擴充;
把監聽埠改成別的,nginx反向代理這個埠。
更多php7相關知識,請造訪php7教學欄位!
以上是關於PHP7.4與MySQL8認證問題詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!