Pourquoi ne puis-je pas me connecter à MySQL 4.1 à l'aide de l'authentification héritée ?

Patricia Arquette
Libérer: 2024-11-03 19:27:29
original
153 Les gens l'ont consulté

Why Can't I Connect to MySQL 4.1  Using Legacy Authentication?

Impossible de se connecter à MySQL 4.1 à l'aide de l'authentification héritée

Lorsque vous essayez de vous connecter à une base de données MySQL, vous pouvez rencontrer le message d'erreur « Connecter Erreur (2000) mysqlnd ne peut pas se connecter à MySQL 4.1 en utilisant l'ancienne authentification." Ce problème provient d'un système de mot de passe obsolète utilisé par les versions MySQL antérieures à 4.1. Les itérations plus récentes de MySQL offrent la possibilité d'utiliser ces mots de passe obsolètes, connus pour potentiellement conduire à ce problème de connectivité.

Dépannage des problèmes de connexion à la base de données MySQL

Si votre base de données MySQL est géré par un fournisseur tiers, vous n'avez peut-être pas de contrôle sur sa configuration. Cependant, si vous disposez d'un accès administratif à la base de données :

1. Confirmer les paramètres du schéma de mot de passe du serveur :

Exécuter la requête MySQL :

SHOW VARIABLES LIKE 'old_passwords'
Copier après la connexion
  • Si le résultat est "old_passwords,Off", le serveur n'est pas configuré pour utiliser le schéma de mot de passe hérité par défaut.
  • Si le résultat est "old_passwords,On", des entrées de mot de passe héritées dans la table des utilisateurs peuvent toujours exister, déclenchant l'utilisation de la méthode d'authentification obsolète.

2. Vérifiez la longueur du mot de passe dans le tableau « mysql.user » :

Exécutez la requête :

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Copier après la connexion
  • Les anciens mots de passe ont une longueur de 16 caractères.
  • Les mots de passe modernes ont une longueur de 41 caractères.

3. Mettre à jour le mot de passe et la configuration de l'utilisateur :

  • Implémentez une réinitialisation du mot de passe pour le compte concerné à l'aide de la requête :
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
Copier après la connexion
  • Actualiser les privilèges de la base de données :
FLUSH Privileges;
Copier après la connexion
  • Vérifiez que la longueur du mot de passe dans la table 'mysql.user' est passée à 41.

4. Reportez-vous à la documentation MySQL :

Pour plus d'informations sur la résolution de ce problème, reportez-vous à la documentation MySQL suivante :

  • [Ancien client](http://dev.mysql .com/doc/refman/5.0/en/old-client.html)
  • [Hashing de mot de passe](http://dev.mysql.com/doc/refman/5.0/en/password-hashing. html)
  • [Définir le mot de passe](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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!