Maison >base de données >tutoriel mysql >Pourquoi ma table utilisateur MySQL ne contient-elle pas le champ de mot de passe sur macOS ?
Champ de mot de passe de la table utilisateur MySQL manquant - Dépannage pour l'installation de MySQL sur macOS
Lorsque vous essayez de modifier le mot de passe root MySQL sur macOS, vous pouvez rencontrez une erreur indiquant que la colonne « mot de passe » dans la table utilisateur n'existe pas. Cela peut être déroutant car le champ de mot de passe est généralement présent dans les tables utilisateur MySQL.
Contexte :
Dans MySQL version 5.7, une modification importante a été apportée à la table utilisateur. . Le champ « mot de passe » d'origine a été supprimé et remplacé par le champ « authentication_string » pour stocker les mots de passe des utilisateurs. Ce changement vise à améliorer la sécurité et à activer diverses méthodes d'authentification.
Dépannage :
Pour résoudre le problème, il est nécessaire d'utiliser le nom de champ approprié pour la modification du mot de passe.
Solution :
Accéder à MySQL console à l'aide de la commande :
mysql -u root
(Remarque : vous devrez peut-être fournir un mot de passe si vous en avez déjà défini un.)
Utilisez la requête suivante pour mettre à jour le mot de passe de l'utilisateur root :
mysql> UPDATE user SET authentication_string = PASSWORD('1111') WHERE user = 'root';
Informations supplémentaires :
Vérifiez que vous avez sélectionné le bon base de données (par exemple, mysql) :
mysql> USE mysql;
Vérifiez la structure des champs de la table utilisateur :
mysql> DESCRIBE user;
Cela affichera le schéma de la table, garantissant que le champ 'authentication_string' existe.
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!