php連接配接mysql報錯:SQLSTATE[HY000] [2006] MySQL server has gone away
報錯原因:
mysql 8.0預設加密方式為caching_sha2_password
mysql 8.0 以後 PASSWORD=PASSWORD('root') 指令無效,
修改密碼需要以下指令:
ALTER USER root@localhost IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
用戶端連接配接mysql出現plugin caching_sha2_password could not錯誤,主要因為MYSQL修改了加密方式,
而SQLlog或者native等用戶端軟體暫時不支援caching_sha2_password加密方式,需要通過以下指令修改:
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'root';
以上隻是修改密碼以及mysql密碼加密方式,修改後php 連接配接mysql 報錯MySQL server has gone away,
此時需要在在my.cnf中[mysqld]下添加以下資訊
[mysqld]
#設定mysql 8.0 的加密方式為 mysql_native_password (預設為:caching_sha2_password)
default_authentication_plugin=mysql_native_password