【问题标题】:why can't create a new user in mysql?为什么不能在mysql中创建新用户?
【发布时间】:2014-10-26 14:18:52
【问题描述】:
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | 127.0.0.1 |
| root             | ::1       |
| debian-sys-maint | localhost |
| developer        | localhost |
| jack             | localhost |
| root             | localhost |
| root             | rebuild   |
+------------------+-----------+
7 rows in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wpdatabase         |
+--------------------+
4 rows in set (0.00 sec)

mysql> CREATE USER wpuser@localhost;
ERROR 1396 (HY000): Operation CREATE USER failed for 'wpuser'@'localhost'

为什么不能在mysql中创建新用户?用户wpuser 不在表user 中。 我需要使用过的数据库,所以任何人都可以帮助我如何创建新用户?

不,不是密码的问题(123456是mysql数据库的key)。

mysql> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'wpuser'@'localhost'

太奇怪了,请继续。

为什么CREATE USER wpuser@localhost; 不能; CREATE USER wpusers@localhost;可以吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    对我来说,我在 mysql 工作台中尝试重新添加我在数据库中拥有的用户时遇到此错误,但后来我尝试了此查询并发现该用户实际上已添加:

    select user, host from mysql.user
    

    因此,我建议如果有人在 mysql 工作台中遇到该错误,请先尝试此查询,然后再尝试更复杂的解决方案,因为可能已经创建了用户。

    【讨论】:

      【解决方案2】:

      我相信我也有同样的问题。我不小心创建了“myuser”,使用下面的命令将其删除,然后我无法创建用户,尽管它没有显示在 mysql.user 表上

      我尝试了这些命令进行删除,但无济于事。

      delete user from mysql.user where user='myuser'
      delete user from mysql.user where user='myuser' and host='localhost'
      delete user from mysql.user where user='myuser' and host='%'
      

      当我使用此命令删除用户时,它对我有用。

      DROP USER 'myuser'@'localhost';
      

      在尝试这些命令之间,我FLUSH PRIVILEGES 好像我正在腹泻。因此,如果它仍然不起作用,请按照 Begueradj 的建议进行操作。

      【讨论】:

        【解决方案3】:

        您要创建的用户必须有 MySQL 密码:

        CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
        

        然后给他权限:

        GRANT ALL PRIVILEGES ON * . * TO 'wpuser'@'localhost';
        

        不要忘记重新加载所有权限:

        FLUSH PRIVILEGES;
        

        希望对你有所帮助。

        【讨论】:

          猜你喜欢
          • 2022-08-17
          • 2021-03-18
          • 1970-01-01
          • 2017-04-20
          • 2018-06-10
          • 2019-03-05
          • 2016-12-24
          • 1970-01-01
          • 2021-07-04
          相关资源
          最近更新 更多