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
Libérer: 2024-11-29 10:20:10
original
818 Les gens l'ont consulté

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
    Copier après la connexion
  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;
    Copier après la connexion
  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';
    Copier après la connexion
  5. Videz les privilèges MySQL pour appliquer les modifications :

    FLUSH PRIVILEGES;
    Copier après la connexion
  6. Quitter MySQL client :

    exit
    Copier après la connexion

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!

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