Maison > Article > base de données > Voici quelques titres potentiels, en gardant à l’esprit qu’ils doivent se présenter sous la forme d’une question : * **Erreur de connexion MySQL : pourquoi \"mysqlnd ne peut pas se connecter\" se produit-il ?** * **PHP et MySQL : comment procéder
Erreur de connexion MySQL : résolution du problème « mysqlnd ne peut pas se connecter »
Lorsque vous essayez de vous connecter à MySQL, vous pouvez rencontrer le message d'erreur : " mysqlnd ne peut pas se connecter à MySQL 4.1 en utilisant l'ancienne authentification non sécurisée." Cette erreur est due à une inadéquation entre les méthodes de hachage de mot de passe utilisées par le serveur MySQL et le mécanisme d'authentification utilisé par le pilote PHP MySQL, mysqlnd.
Solution
Pour Pour résoudre cette erreur, vous devez mettre à jour la méthode de hachage du mot de passe MySQL vers le nouveau format plus sécurisé. Cela implique de modifier le fichier de configuration MySQL (my.cnf) comme suit :
Définissez de nouveaux mots de passe pour les utilisateurs concernés :
Connectez-vous à la base de données MySQL et exécutez la requête suivante pour identifier les utilisateurs avec des mots de passe à l'ancien format :
<code class="sql">SELECT user, Length(`Password`) FROM `mysql`.`user`;</code>
Pour chaque utilisateur concerné, mettre à jour le mot de passe à l'aide de la fonction PASSWORD() :
<code class="sql">UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE user = 'affected_username';</code>
Flush Privileges :
Après la mise à jour des mots de passe, videz les privilèges pour refléter les modifications :
<code class="sql">FLUSH PRIVILEGES;</code>
Remarque :
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!