Maison >base de données >tutoriel mysql >Comment réparer l'erreur de connexion MySQL (2000) : mysqlnd ne peut pas se connecter avec l'ancienne authentification ?

Comment réparer l'erreur de connexion MySQL (2000) : mysqlnd ne peut pas se connecter avec l'ancienne authentification ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-06 09:02:12435parcourir

How to Fix MySQL Connect Error (2000): mysqlnd Cannot Connect Using Old Authentication?

Surmonter l'obstacle "Erreur de connexion (2000) : mysqlnd ne peut pas se connecter à MySQL 4.1 en utilisant l'ancienne authentification"

Connexion à une base de données MySQL avec un ancien schéma d'authentification peut déclencher l'erreur « Connect Error (2000) ». Pour résoudre ce problème, suivez les étapes suivantes :

1. Évaluer le schéma de mot de passe du serveur

Exécutez la requête SQL « SHOW VARIABLES LIKE 'old_passwords' » pour déterminer si le serveur utilise l'ancien schéma de mot de passe par défaut. S'il renvoie "old_passwords,Off", vous avez probablement d'anciennes entrées de mot de passe dans la table des utilisateurs.

2. Vérifiez la longueur du mot de passe dans la table mysql.user

Examinez la table "mysql.user" pour déterminer quelle routine d'authentification sera utilisée pour chaque compte. Les comptes avec d'anciens mots de passe ont une longueur de mot de passe de 16, tandis que ceux avec de nouveaux mots de passe ont une longueur de 41.

3. Mettre à jour les anciens mots de passe

Si les comptes ont d'anciens mots de passe, mettez à jour leurs mots de passe à l'aide de la requête "SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');" suivi de « Privilèges FLUSH ; ». Vérifiez à nouveau la longueur du mot de passe ; il devrait maintenant être 41.

4. Ressources supplémentaires

Référez-vous à la documentation MySQL suivante pour en savoir plus informations :

  • http://dev.mysql.com/doc/refman/5.0/en/old-client.html
  • http://dev.mysql.com/ faire c/refman/5.0/en/password-hashing.html
  • http://dev.mysql.com/doc/refman/5.0/en/set-password.html

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