Maison > développement back-end > tutoriel php > Comment corriger l'erreur « Le serveur a demandé la méthode d'authentification inconnue du client » dans MySQL 8.0 avec PHP ?

Comment corriger l'erreur « Le serveur a demandé la méthode d'authentification inconnue du client » dans MySQL 8.0 avec PHP ?

Patricia Arquette
Libérer: 2024-12-14 05:45:15
original
662 Les gens l'ont consulté

How to Fix

Erreur MySQL 8.0 : résolution des incohérences d'authentification avec les applications PHP

Les développeurs PHP se connectant aux bases de données MySQL 8.0 peuvent rencontrer l'erreur « L'authentification du serveur a demandé méthode inconnue du client." Cette erreur est généralement causée par une inadéquation entre les méthodes d'authentification utilisées par la base de données MySQL et l'application PHP.

Conflit de méthode d'authentification :

MySQL 8.0 utilise caching_sha2_password comme mot de passe. méthode d'authentification par défaut, alors que de nombreuses applications PHP s'attendent à utiliser une authentification traditionnelle basée sur un mot de passe. Lorsque l'application tente de se connecter à la base de données avec une méthode d'authentification incorrecte, le serveur renvoie l'erreur mentionnée ci-dessus.

Solution :

Pour résoudre ce problème, il Il est nécessaire de modifier la méthode d'authentification utilisée par la base de données MySQL pour qu'elle corresponde à celle attendue par l'application PHP. Ceci peut être réalisé en basculant le plugin d'authentification de la base de données MySQL vers mysql_native_password, qui prend en charge l'authentification par mot de passe.

Étapes pour modifier le plugin d'authentification :

  1. Connexion à MySQL en tant qu'utilisateur root :
mysql -u root -p
Copier après la connexion
  1. Exécutez le code SQL suivant commande pour changer le plugin d'authentification pour l'utilisateur root :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Copier après la connexion

Remplacez 'new_password' par un mot de passe sécurisé de votre choix.

  1. Si votre application PHP utilise un utilisateur non root, répétez l'étape 2 pour cet utilisateur, en remplaçant « root » par le nom d'utilisateur approprié.
  2. Redémarrez le service MySQL pour que les modifications soient prises en compte effet.

Ressources supplémentaires :

Pour plus d'informations sur ce sujet, veuillez vous référer aux ressources suivantes :

  • [ Océan numérique : installation MySQL](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04)
  • [Documentation MySQL : authentification par défaut Plugin](https://dev.mysql.com/doc/refman/8.0/en/server-options.html#sysvar_default_authentication_plugin)

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