Maison >développement back-end >tutoriel php >Pourquoi mysqli_connect échoue-t-il avec « Méthode d'authentification inconnue (caching_sha2_password) » ?

Pourquoi mysqli_connect échoue-t-il avec « Méthode d'authentification inconnue (caching_sha2_password) » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 13:05:10433parcourir

Why Does mysqli_connect Fail with

Erreur mysqli_connect : méthode d'authentification inconnue (caching_sha2_password)

Lorsque vous tentez de vous authentifier auprès de MySQL à l'aide de mysqli_connect, vous pouvez rencontrer l'erreur :

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

Cette erreur se produit lorsque le plugin d'authentification par défaut du serveur MySQL est défini sur caching_sha2_password, qui est incompatible avec certaines configurations de comptes utilisateurs.

Dépannage :

Pour résoudre ce problème, deux solutions s'offrent à vous :

  1. Modifier l'authentification de l'utilisateur Plugin :

    Exécutez la commande SQL suivante pour modifier le plugin d'authentification de l'utilisateur concerné :

    ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';

    Remplacez le nom d'utilisateur et le nom d'hôte par les valeurs appropriées pour votre utilisateur.

  2. Modifier le fichier ini du serveur MySQL :

    Modifier le Fichier ini du serveur MySQL (my.ini ou my.cnf) et modifiez le paramètre default_authentication_plugin en mysql_native_password :

    [mysqld]
    default_authentication_plugin=mysql_native_password

    Redémarrez le serveur MySQL après avoir effectué la modification.

Supplémentaire Conseils :

  • Si vous créez un nouvel utilisateur, utilisez la commande suivante avec l'authentification mysql_native_password :

    CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
  • Accordez les privilèges nécessaires à l'utilisateur après avoir modifié le plugin d'authentification ou modifié le fichier ini du serveur.

En suivant ces étapes, vous pouvez vous authentifier avec succès auprès de MySQL en utilisant mysqli_connect même lorsque le plugin d'authentification caching_sha2_password est activé.

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!

Déclaration:
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