mysql8의 기본 비밀번호 암호화 방식은 caching_sha2_password
이고, mysql 접속 시 caching_sha2_password
,PHP7.4连接mysql的加密方式也为caching_sha2_password
,这个地方要注意。
当为了兼容旧版的客户端不只是PHP,还有在主从复制的时候也会有问题,mysql8的认证方式改回了mysql_native_password
。
如果使用PHP7.4的情况下,这里就会认证报错,因为7.4是caching_sha2_password
PHP7.4
caching_sha2_password
입니다. 이것에 주의하세요. PHP뿐만 아니라 마스터-슬레이브 복제 문제를 해결하기 위해 이전 버전의 클라이언트와 호환되도록 mysql8의 인증 방법을 다시 mysql_native_password
로 변경했습니다. PHP7.4를 사용하는 경우 여기에 인증 오류가 보고됩니다. 7.4는 caching_sha2_password
암호화 방법이므로 여기에서 구성을 변경하지 않고도 PHP7.2로 전환할 수 있습니다. 다음 방법을 사용하여 mysql8의 암호화 방법을 변경하고 루트 사용자의 비밀번호를 변경할 수 있습니다:
USE mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
수신 포트를 다른 것으로 변경하고 nginx가 이 포트를 역방향 프록시합니다. 더 많은 php7 관련 지식을 알고 싶으시면
php7
위 내용은 PHP7.4 및 MySQL8 인증 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!