Maison > base de données > tutoriel mysql > Comment corriger l'erreur « mysqli_connect() : Le serveur a demandé une méthode d'authentification inconnue du client [caching_sha2_password] » ?

Comment corriger l'erreur « mysqli_connect() : Le serveur a demandé une méthode d'authentification inconnue du client [caching_sha2_password] » ?

Mary-Kate Olsen
Libérer: 2024-12-13 00:38:10
original
514 Les gens l'ont consulté

How to Fix the

Résolution de l'erreur "mysqli_connect : méthode d'authentification inconnue du client [caching_sha2_password]" pour php mysqli_connect

Lors de l'établissement d'une connexion à une base de données MySQL à l'aide de php mysqli_connect, c'est possible pour rencontrer l'erreur "erreur de connexion à la base de données" avec un message spécifique "mysqli_connect() : Le serveur a demandé la méthode d'authentification inconnu du client [caching_sha2_password]". Cela se produit généralement parce que la méthode d'authentification configurée sur le serveur MySQL est différente des attentes du client.

Dans ce cas, le script PHP utilise la méthode d'authentification caching_sha2_password, qui nécessite des informations d'identification correspondantes définies dans la table utilisateur MySQL. Cependant, il semble que le compte user1 ne dispose pas d'un hachage de mot de passe correspondant pour caching_sha2_password.

Pour résoudre ce problème, vous disposez de plusieurs options :

  1. Utiliser mysql_native_password Authentification : modifiez le paramètre default_authentication_plugin dans le fichier ini du serveur MySQL en mysql_native_password, qui est compatible avec le hachage du mot de passe de l'utilisateur 1. Cela permettra à l'utilisateur 1 de se connecter avec succès.
  2. Créez un hachage de mot de passe caching_sha2_password pour l'utilisateur 1 : émettez la commande SQL suivante pour créer un hachage caching_sha2_password pour l'utilisateur 1 :

    ALTER USER 'user1'@'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. Cela mettra à jour le hachage du mot de passe de l'utilisateur 1 pour utiliser caching_sha2_password, lui permettant ainsi de s'authentifier à l'aide de cette méthode.

  3. Forcer caching_sha2_password pour les hachages existants : si vous ne pouvez pas créer un nouveau hachage de mot de passe en raison de restrictions de compte, vous pouvez forcer l'utilisation de caching_sha2_password pour les hachages existants. Exécutez la commande SQL suivante :

    SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('existing_password');
    Copier après la connexion

    Remplacez 'existing_password' par le mot de passe actuel de l'utilisateur1. Cela mettra à jour le hachage pour utiliser caching_sha2_password sans changer le mot de passe lui-même.

Une fois que vous avez effectué l'une de ces procédures, vous devriez pouvoir établir avec succès une connexion à la base de données en utilisant l'authentification caching_sha2_password. . N'oubliez pas de consulter la documentation MySQL pour plus de détails et d'options de gestion des mots de passe.

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