최근 MySQL 8.0 릴리스 이후 사용자는 phpMyAdmin에 액세스하는 데 어려움을 겪고 있습니다. 이 문제는 phpMyAdmin과 서버 간의 인증 방법 불일치로 인해 발생합니다. 이 문제를 해결하려면 다음 단계를 따르세요.
먼저 적절한 명령을 사용하여 MySQL 콘솔에 루트 사용자로 로그인합니다.
mysql -u root -pPASSWORD
로그인한 후 인증 플러그인을 다음으로 변경하세요. mysql_native_password 다음 쿼리를 실행하여:
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
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 docker 이미지, 이 솔루션은 개발 환경 전용이라는 점을 기억하세요.
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 mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';" docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
인증 플러그인을 영구적으로 변경하려면 /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 exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';" docker stop mysql; docker start mysql docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
따옴표가 다음과 같이 포함되어 있는지 확인하세요. 표시됩니다.
위 내용은 MySQL 8.0에서 phpMyAdmin 인증 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!