Maison >base de données >tutoriel mysql >Comment résoudre les problèmes d'authentification phpMyAdmin avec MySQL 8.0 ?
Dans le sillage de la récente version de MySQL 8.0, les utilisateurs ont rencontré des difficultés pour accéder à phpMyAdmin. Ce problème provient d'une différence de méthode d'authentification entre phpMyAdmin et le serveur. Pour résoudre ce problème, suivez ces étapes :
Tout d'abord, connectez-vous à votre console MySQL en tant qu'utilisateur root à l'aide de la commande appropriée :
mysql -u root -pPASSWORD
Une fois connecté, modifiez le plugin d'authentification en mysql_native_password en exécutant la requête suivante :
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Lorsque vous travaillez dans un environnement dockerisé, pensez à utiliser ces commandes :
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
Si vous utilisez mysql/mysql-server image docker, rappelez-vous que cette solution est destinée aux environnements de développement uniquement.
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
Pour modifier définitivement le plugin d'authentification, décommentez la ligne suivante dans votre / Fichier etc/my.cnf :
default_authentication_plugin=mysql_native_password
Cependant, utilisez cette méthode avec prudence.
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';
Assurez-vous que les devis sont inclus comme indiqué.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!