Maison >base de données >tutoriel mysql >Pourquoi ma table MySQL `mysql.user` n'a-t-elle pas de colonne `mot de passe` sur macOS ?

Pourquoi ma table MySQL `mysql.user` n'a-t-elle pas de colonne `mot de passe` sur macOS ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-29 10:20:10827parcourir

Why Doesn't My MySQL `mysql.user` Table Have a `password` Column on macOS?

Différence de colonne de mot de passe de la table utilisateur MySQL sous OSX

Lors de la tentative de modification du mot de passe root MySQL sur macOS, les utilisateurs peuvent rencontrer une erreur indiquant que la colonne 'mot de passe' n'existe pas dans la table 'mysql.user'. Cela peut prêter à confusion, car le champ « mot de passe » est généralement associé au stockage des mots de passe des utilisateurs dans la base de données MySQL.

La raison de cette différence est que dans MySQL 5.7, la colonne « mot de passe » a été supprimée du champ « Mot de passe ». mysql.user' et remplacée par la colonne 'authentication_string'. Ce changement a été apporté pour améliorer la sécurité en stockant les mots de passe à l'aide d'un algorithme de hachage plus récent et plus sécurisé.

Pour modifier le mot de passe root MySQL sur macOS avec MySQL 5.7, suivez ces étapes :

  1. Ouvrez une fenêtre de terminal et tapez la commande suivante pour vous connecter à MySQL à l'aide de la ligne de commande 'mysql' client :

    mysql -uroot -p
  2. Entrez votre mot de passe root MySQL actuel lorsque vous y êtes invité.
  3. Si la colonne 'authentication_string' n'existe pas dans la table 'mysql.user', créez-le à l'aide de la commande suivante :

    ALTER TABLE mysql.user ADD authentication_string TEXT;
  4. Mettre à jour le mot de passe de l'utilisateur root MySQL en définissant la colonne 'authentication_string' sur le nouveau mot de passe à l'aide de la commande suivante :

    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';
  5. Videz les privilèges MySQL pour appliquer les modifications :

    FLUSH PRIVILEGES;
  6. Quitter MySQL client :

    exit

Vous devriez maintenant pouvoir vous connecter à MySQL en utilisant le nouveau mot de passe root. Ce changement vous permet d'améliorer la sécurité de votre installation MySQL tout en conservant la fonctionnalité de gestion des mots de passe des utilisateurs.

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