Maison > base de données > tutoriel mysql > le corps du texte

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

DDD
Libérer: 2024-10-25 03:53:29
original
753 Les gens l'ont consulté

Here are a few potential titles, keeping in mind they should be in the form of a question:

* **MySQL Connection Error: Why Does

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 :

  1. Supprimer ou commenter "old_passwords = 1":
    Localiser la ligne "old_passwords = 1" " dans le fichier my.cnf et supprimez-le ou commentez-le en plaçant un préfixe "#" devant lui.
  2. Redémarrez MySQL :
    Redémarrez MySQL pour appliquer le modifications de configuration. Cela garantit que MySQL utilisera la nouvelle méthode de hachage de mot de passe à l'avenir.
  3. 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>
    Copier après la connexion

    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>
    Copier après la connexion
  4. 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>
    Copier après la connexion

Remarque :

  • Assurez-vous d'utiliser un mot de passe fort et sécurisé pour votre compte MySQL.
  • Si vous rencontrez toujours des problèmes, consultez le journal des erreurs PHP pour plus de détails.
  • Reportez-vous à la source article "Comment réparer 'mysqlnd ne peut pas se connecter à MySQL 4.1 en utilisant l'ancienne authentification' sur PHP5.3" pour des conseils supplémentaires et des étapes de dépannage.

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!