Maison > base de données > tutoriel mysql > Comment puis-je corriger l'erreur « Méthode d'authentification inconnue du client » lors de la connexion de phpMyAdmin à MySQL 8.0 ?

Comment puis-je corriger l'erreur « Méthode d'authentification inconnue du client » lors de la connexion de phpMyAdmin à MySQL 8.0 ?

Barbara Streisand
Libérer: 2024-11-23 22:41:10
original
406 Les gens l'ont consulté

How Can I Fix the

Naviguer dans la compatibilité de phpMyAdmin avec MySQL 8.0

Dans le domaine de la gestion de bases de données, phpMyAdmin reste un outil recherché. Cependant, à mesure que MySQL progresse vers sa dernière version, 8.0, les utilisateurs peuvent rencontrer des obstacles de connectivité avec phpMyAdmin.

Erreur rencontrée :

Lorsqu'ils tentent d'accéder à phpMyAdmin, les utilisateurs sont souvent confrontés l'erreur suivante :

#2054 - The server requested authentication method unknown to the client
Copier après la connexion

Cette erreur provient des mesures de sécurité améliorées utilisées dans MySQL 8.0, qui introduisent un mécanisme de hachage de mot de passe plus puissant.

Solution :

Pour résoudre ce problème, vous devez modifier la méthode d'authentification spécifiée pour l'utilisateur root dans l'instance MySQL. :

  1. Connectez-vous à la console MySQL en tant que root utilisateur :
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
Copier après la connexion
  1. Modifiez le plugin d'authentification :
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Copier après la connexion

En définissant le plugin d'authentification sur ' mysql_native_password,' vous activez la compatibilité avec phpMyAdmin.

Docker Environment Solution :

Pour ceux qui utilisent des conteneurs 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
Copier après la connexion

Considérations supplémentaires :

mysql/mysql-server docker image :

Pour cette image Docker, décommentez simplement la ligne suivante dans /etc/my.cnf :

# default-authentication-plugin=mysql_native_password
Copier après la connexion

Alternativement, les commandes de solution de contournement suivantes peuvent être utilisées :

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
Copier après la connexion

default_authentication_plugin :

Solution mise à jour (13/09/2021) :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

N.B :Assurez-vous d'inclure les citations.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal