当前位置: 首页 > 面试题库 >

错误1396(HY000):操作CREATE USER对于'jack'@'localhost'失败

蒋承教
2023-03-14
问题内容

我似乎无法重新创建一个已删除的简单用户,即使以root用户身份在MySQL中也是如此。

我的情况是:用户’jack’曾经存在,但是我从mysql.user中删除了它以重新创建它。我在那张桌子上看不到任何痕迹。如果我对其他随机用户名(例如“
jimmy”)执行此命令,则该命令会正常工作(就像最初对“ jack”所做的一样)。

我已经做了些什么来破坏用户“ jack”,以及如何撤销该破坏,以便重新创建“ jack”作为此安装的MySQL的有效用户?

请参见下面的示例。(当然,最初,在创建“ jack”和将其删除之间有很多时间。)

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jack             | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

mysql> delete from user where user = 'jack';
Query OK, 1 row affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
4 rows in set (0.00 sec)

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost'
mysql> CREATE USER 'jimmy'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jimmy            | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

问题答案:

尝试做一个FLUSH PRIVILEGES;
关于该错误代码的此MySQL错误文章似乎在刷新privs之后报告了与您类似的情况下的某些成功。



 类似资料:
  • 问题内容: 当我尝试来源大型SQL文件(大型查询)时出现此错误。 表中的任何内容均未更新。我尝试删除和取消删除表/数据库,以及重新启动MySQL。这些都不是解决问题的方法。 这是我的最大数据包大小: 这是文件大小: 当我尝试其他方法时… 问题答案: 将此行添加到文件中解决了我的问题。 当列的值较大会导致问题时,此功能很有用,您可以在此处找到说明。 在Windows上,此文件位于:“ C:\ Pro

  • 问题内容: 我的本地环境是: 新鲜的Ubuntu 16.04 使用PHP 7 安装了MySQL 5.7 当我尝试通过MySQL登录MySQL时: 我遇到了3个步骤的周期性问题。 1)首先是一些套接字问题 解决方案:重新启动PC。 导致另一个错误: 2)拒绝访问 可能的问题?“ root”用户的密码错误! 解决方案: 使用本教程重置root密码。 使用正确的密码和有效的套接字,将出现最后一个错误。

  • 问题内容: 我收到了这个令人讨厌的错误,尽管我知道为什么要得到它,但我终生无法找到解决方案。 查询包含占位符()。但是要添加这些LIMIT占位符,我需要使用手动方法(),因为否则引擎会将它们转换为字符串。 我没有收到无效的参数数量错误,因此所有占位符均已正确绑定(我认为)。 查询: 除最后两个LIMIT(我与之手动绑定)外,所有占位符值均位于$ criteria中。 问题答案: 您不能使用 和 。

  • 我正在尝试在Azure Kubernetes集群中设置prometheus监视。 使用helm安装了prometheus操作符。 大约5分钟后,安装超时,出现以下错误, 错误:预装失败:等待条件超时 查看集群,注意到创建了一个新作业。由于找不到服务帐户,它有一个pod无法创建。 创建错误:pods“prometheus-op-release-prom-accement-create-”被禁止:查找

  • 使用-u show启动mysql: 同时显示完整的错误日志: apt列表结果 在我升级到MySQL8之后就会发生这种情况。不知怎么的,如果可能的话,我不会重新安装MySQL。我期望我可以登录phpmyadmin,但我知道这不是他的问题。