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数据库的关键)。
mysql> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'wpuser'@'localhost'
太奇怪了,请继续。
为什么CREATE USER wpuser@localhost;
可以&#t; CREATE USER wpusers@localhost;
可以吗?
答案 0 :(得分:1)
您要创建的用户必须拥有MySQL密码:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
然后给他权限:
GRANT ALL PRIVILEGES ON * . * TO 'wpuser'@'localhost';
不要忘记重新加载所有权限:
FLUSH PRIVILEGES;
希望这会对你有所帮助。
答案 1 :(得分:1)
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的建议行事。
答案 2 :(得分:0)
对我来说,我在mysql工作台中尝试重新添加数据库中的用户时遇到此错误,但是随后我尝试执行此查询并发现该用户实际上是添加的:
select user, host from mysql.user
因此,我建议是否有人在mysql工作台中遇到该错误,以便在可能已经创建用户的更复杂的解决方案之前尝试此查询作为第一个措施。