mysql8的默認(rèn)密碼加密方式是caching_sha2_password
,PHP7.4連接mysql的加密方式也為caching_sha2_password
,這個(gè)地方要注意。
當(dāng)為了兼容舊版的客戶(hù)端不只是PHP,還有在主從復(fù)制的時(shí)候也會(huì)有問(wèn)題,mysql8的認(rèn)證方式改回了mysql_native_password
。
如果使用PHP7.4的情況下,這里就會(huì)認(rèn)證報(bào)錯(cuò),因?yàn)?.4是caching_sha2_password
加密方式,因此這里我可以改用成PHP7.2;
不改配置的情況下,可以使用下面的方式更改mysql8的加密方式,為root用戶(hù)更改密碼:
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 等擴(kuò)展;
把監(jiān)聽(tīng)端口改成別的,nginx反向代理這個(gè)端口。