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反向代理這個端口