Maison >base de données >tutoriel mysql >Comment corriger l'erreur « Impossible de se connecter à MySQL 4.1 avec l'ancienne authentification » en PHP ?

Comment corriger l'erreur « Impossible de se connecter à MySQL 4.1 avec l'ancienne authentification » en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 01:32:11447parcourir

How to Fix the

Connexion à MySQL 4.1 : Dépannage "Impossible de se connecter à MySQL 4.1 en utilisant l'ancienne authentification" Erreur

Lors de la tentative d'établissement d'une connexion à un MySQL base de données utilisant MySQLi dans PHP 5.3, vous pouvez rencontrer le message d'erreur "Erreur de connexion (2000) mysqlnd ne peut pas se connecter à MySQL 4.1 en utilisant ancienne authentification." Cette erreur se produit généralement lorsque le serveur MySQL est configuré pour utiliser un schéma de mot de passe obsolète qui n'est plus compatible avec les versions plus récentes de MySQL.

Pour résoudre ce problème, plusieurs étapes peuvent être suivies :

  1. Vérifiez la configuration MySQL :

    • Exécutez la requête SQL AFFICHER LES VARIABLES COMME 'old_passwords' pour déterminer si le serveur utilise l'ancien schéma de mot de passe. Si le résultat est old_passwords,Off, cela indique que le serveur n'utilise pas l'ancien schéma et que l'erreur peut être liée à des comptes d'utilisateurs spécifiques.
  2. Vérifiez Mots de passe utilisateur :

    • Utilisez la requête SELECT *Utilisateur*', Hôte', Longueur (Mot de passe) FROM mysql.user pour examiner la table mysql.user`.
    • Les comptes utilisant d'anciens mots de passe auront une longueur de mot de passe de 16, tandis que ceux utilisant de nouveaux mots de passe auront une longueur de 41.
  3. Réinitialiser l'utilisateur Mots de passe :

    • Si d'anciens mots de passe sont détectés, réinitialisez les mots de passe des comptes concernés à l'aide de la requête suivante :

      • DÉFINIR LE MOT DE PASSE POUR 'Utilisateur' @'Host'=PASSWORD('yourpassword');
      • Remplacez User et Host par les valeurs obtenues du précédent requête.
  4. Flush Privileges :

    • Exécuter la requête FLUSH Privileges ; pour vous assurer que les modifications apportées aux mots de passe des utilisateurs prennent effet.
  5. Revérifiez la longueur du mot de passe :

    • Exécutez la même requête ( SELECT *Utilisateur*', Hôte', Longueur (Mot de passe) FROM mysql.user`) à nouveau pour vérifier que les longueurs de mot de passe pour les comptes concernés sont désormais 41.
  6. Connectez-vous avec MySQLi :

    • Une fois les mots de passe des utilisateurs mis à jour pour utiliser le nouveau schéma, essayez pour vous connecter à la base de données en utilisant MySQLi.

En suivant En suivant ces étapes, vous pouvez résoudre l'erreur « Impossible de se connecter à MySQL 4.1 avec l'ancienne authentification » et établir une connexion réussie à votre base de données MySQL. Reportez-vous à la documentation MySQL pour plus de détails sur les anciennes et nouvelles méthodes de hachage de mot de passe, la gestion des mots de passe et la configuration du serveur.

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