phpMyAdmin과 MySQL 8.0의 호환성 탐색
데이터베이스 관리 영역에서 phpMyAdmin은 여전히 인기 있는 도구입니다. 그러나 MySQL이 최신 버전인 8.0으로 발전함에 따라 사용자는 phpMyAdmin 연결 문제에 직면할 수 있습니다.
발생한 오류:
phpMyAdmin에 액세스하려고 할 때 사용자는 종종 다음과 같은 문제를 겪게 됩니다. 다음 오류:
#2054 - The server requested authentication method unknown to the client
이 오류는 MySQL에 적용된 강화된 보안 조치로 인해 발생합니다. 8.0은 더욱 강력한 비밀번호 해싱 메커니즘을 도입합니다.
해결책:
이 문제를 해결하려면 MySQL 인스턴스 내에서 루트 사용자에 대해 지정된 인증 방법을 변경해야 합니다. :
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
인증 플러그인을 ' mysql_native_password'를 사용하여 호환성을 활성화합니다. phpMyAdmin.
Docker 환경 솔루션:
Docker 컨테이너를 사용하는 경우:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest docker exec -it mysql bash mysql -u root -pPASSWORD ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD'; exit exit docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
추가 고려 사항:
mysql/mysql-server 도커 image:
이 docker 이미지의 경우 /etc/my.cnf에서 다음 줄의 주석 처리를 제거하세요.
# default-authentication-plugin=mysql_native_password
또는 다음 해결 명령을 수행할 수도 있습니다. 사용됨:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf docker stop mysql; docker start mysql docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
default_authentication_plugin:
업데이트된 솔루션(2021년 9월 13일):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
주의사항: 다음 사항을 확인하세요. 따옴표를 포함하세요.
위 내용은 phpMyAdmin을 MySQL 8.0에 연결할 때 \'클라이언트에 알 수 없는 인증 방법\' 오류를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!