Surmonter les erreurs d'authentification dans MySQL 4.1
Lorsqu'ils tentent de se connecter à une base de données MySQL, les utilisateurs peuvent rencontrer un message d'erreur concernant "l'ancienne authentification. " Ce problème survient lors de la connexion à MySQL 4.1 ou versions ultérieures à l'aide des méthodes de hachage de mot de passe traditionnelles.
Identification de la cause première
Avant MySQL 4.1, un schéma de hachage de mot de passe distinct était employé. Cependant, les versions plus récentes ont introduit la possibilité d'utiliser à la fois l'ancien et le nouveau format de mot de passe. Les configurations qui activent d'anciens mots de passe peuvent parfois entraîner cette erreur de connexion.
Résolution du problème
Pour déterminer si l'erreur provient d'anciens paramètres de mot de passe, exécutez la requête SQL suivante :
SHOW VARIABLES LIKE 'old_passwords'
Si le résultat indique « Désactivé », cela suggère que l'erreur peut être causée par d'anciennes entrées de mot de passe existantes dans la table des utilisateurs. Dans ce cas, la création de nouveaux mots de passe pour les comptes concernés devrait résoudre le problème.
Pour vérifier quelle méthode de hachage sera utilisée pour un compte spécifique, consultez le tableau 'mysql.user' :
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Les comptes avec d'anciens mots de passe auront une longueur de mot de passe de 16, tandis que ceux avec de nouveaux mots de passe auront une longueur de 41. Si nécessaire, réinitialisez le mot de passe en utilisant la procédure suivante syntaxe :
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword'); FLUSH Privileges;
Une fois le mot de passe mis à jour, la longueur du mot de passe doit refléter l'adoption de la nouvelle méthode de hachage et les erreurs de connexion doivent être éliminées.
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!