MySQL:无法创建用户 ERROR 1045
今天在安装完MySQL后清理多余用户时,不小心把root@localhost也删除了,后来重新添加上了,然后想添加用户给远程机器连接用,结果
今天在安装完MySQL后清理多余用户时,不小心把root@localhost也删除了,后来重新添加上了,然后想添加用户给远程机器连接用,结果就出现了不能添加用户的事情。
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> grant select on *.* to baichi@localhost identified by 'baichi';
ERROR 1045 (28000): Access denied for user 'new'@'localhost' (using password: YES)
当时脑子就短路了,root添加不了用户?
赶紧查看MySQL手册
错误:1045 SQLSTATE: 28000 (ER_ACCESS_DENIED_ERROR)
消息:拒绝用户'%s'@'%s'的访问(使用密码:%s)
还是不理解,为什么root不行。于是到处搜索,关于1045错误的搜索结果有不少,可看来看去觉得没什么关系。后来关闭MySQL,,删除data目录重新创建数据库,这样就没事了,但问题的原因没找到。
看看别人的帖子,在添加用户时都加了个with grant option,觉得应该是因为没有加这个,所以不能创建用户。于是查看了下创建root@localhost的语句:
mysql> show grants for root@localhost;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
我再创建两个用户,一个带一个不带with grant option看看
mysql> grant all privileges on *.* to new@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for new@localhost;
+---------------------------------------------------------------------------------------------------------------------+
| Grants for new@localhost |
+---------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'new'@'localhost' IDENTIFIED BY PASSWORD '*0479CC8AA5F52BEB2CF57050533F16EDEE15F6A0' |
+---------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> grant all privileges on *.* to 2new@localhost with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 2new@localhost;
+---------------------------------------------------------------------+
| Grants for 2new@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO '2new'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
然后分别用这两个用户登陆,去创建用户,结果发现带with grant option的用户才能创建。
至此问题找到了。原以为all privileges就包括了创建用户的权限,所以在创建root@localhost时没有添加with grant option,才导致了开头说的出现1045错误。
更多相关阅读:
MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'
解决MySQL安装时1045错误的方法
Linux下MySQL远程连接提示ERROR 1045 (28000)
MySQL出现1045错误服务找不到路径的解决

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



L'article discute de l'utilisation de l'instruction ALTER TABLE de MySQL pour modifier les tables, notamment en ajoutant / abandon les colonnes, en renommant des tables / colonnes et en modifiant les types de données de colonne.

L'article discute de la configuration du cryptage SSL / TLS pour MySQL, y compris la génération et la vérification de certificat. Le problème principal est d'utiliser les implications de sécurité des certificats auto-signés. [Compte de caractère: 159]

L'article traite des stratégies pour gérer de grands ensembles de données dans MySQL, y compris le partitionnement, la rupture, l'indexation et l'optimisation des requêtes.

L'article traite des outils de GUI MySQL populaires comme MySQL Workbench et PhpMyAdmin, en comparant leurs fonctionnalités et leur pertinence pour les débutants et les utilisateurs avancés. [159 caractères]

L'article discute de la suppression des tables dans MySQL en utilisant l'instruction TABLE DROP, mettant l'accent sur les précautions et les risques. Il souligne que l'action est irréversible sans sauvegardes, détaillant les méthodes de récupération et les risques potentiels de l'environnement de production.

L'article discute de la création d'index sur les colonnes JSON dans diverses bases de données comme PostgreSQL, MySQL et MongoDB pour améliorer les performances de la requête. Il explique la syntaxe et les avantages de l'indexation des chemins JSON spécifiques et répertorie les systèmes de base de données pris en charge.

L'article discute de l'utilisation de clés étrangères pour représenter les relations dans les bases de données, en se concentrant sur les meilleures pratiques, l'intégrité des données et les pièges communs à éviter.

L'article discute de la sécurisation MySQL contre l'injection SQL et les attaques brutales à l'aide de déclarations préparées, de validation des entrées et de politiques de mot de passe solides (159 caractères)
