【问题标题】:mysql CREATE USERmysql 创建用户
【发布时间】:2016-01-10 19:30:06
【问题描述】:

我已经登录mysql了……

mysql -u root -pmypass

我已经运行以下命令来删除成功工作的数据库用户

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop';

然后我可以使用以下命令成功添加用户,再次成功

mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop' IDENTIFIED BY 'mypass';

上面的命令创建一个用户,主机为通配符 (%) 我遇到的问题是,如果我要创建一个主机为 localhost 或外部 IP 的用户,我会收到以下错误:

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop';
mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop'@'localhost' IDENTIFIED BY 'mypass';

Query OK, 0 rows affected (0.00 sec)

ERROR 1396 (HY000): Operation CREATE USER failed for 'myuser_shop'@'localhost'

有什么建议吗?

提前致谢

【问题讨论】:

  • 你正在尝试的东西对我来说看起来不错。您是否查看了bugs.mysql.com/bug.php?id=28331 以查看那里是否描述了您的问题?
  • +1 您对 Svetlozar Angelov 的评论 - 它也解决了我的问题!

标签: mysql database


【解决方案1】:

这是此处报告的错误 - http://bugs.mysql.com/bug.php?id=28331

删除后查看您的用户是否存在。

【讨论】:

  • 我已经检查了 'mysql' 数据库中的 'user' 表,没有对 myuser_shop 的引用。
  • 其实虽然没有出现在user表中,但肯定是db文件中存在的,我特意去掉了FLUSH PRIVILEGES;删除用户'myuser_shop'@'localhost';然后 CREATE USER 工作了!谢谢
【解决方案2】:

如果用户在 DROP USER 命令后仍然存在,请检查以下 2 个表: mysql.user 和 mysql.db。

从两者中删除用户,然后运行 ​​FLUSH PRIVILEGES,然后您可以重新创建用户。

【讨论】:

    【解决方案3】:

    删除用户'用户名@localhost '

    【讨论】:

    • 你应该解释你的答案更多
    【解决方案4】:

    我会建议你使用 phpmyadmin,它很容易做到这一点。

    步骤:

    1. 打开phpmyadmin
    2. 转到管理部分
    3. 点击添加用户帐户
    4. 输入用户名和密码
    5. 设置权限

    仅此而已 在 youtube 上查看实际操作 [click here ]

    【讨论】:

      【解决方案5】:

      您还必须手动从 mysql.tables_priv 中删除记录。

      【讨论】:

      • 强烈建议不要在mysql.* 中手动搞乱。
      猜你喜欢
      • 1970-01-01
      • 2019-06-29
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 2015-12-07
      相关资源
      最近更新 更多