【问题标题】:How to GRANT privileges to user on Ubuntu MySQL database? [duplicate]如何在 Ubuntu MySQL 数据库上授予用户权限? [复制]
【发布时间】:2019-12-07 19:24:44
【问题描述】:

我以root 的身份登录

sudo mysql -u root 

并使用此命令创建了一个数据库 xxx:

CREATE DATABASE xxx;

我想用这个命令给 xxx 上的用户 webuser 权限:

GRANT ALL PRIVILEGES ON xxx.*  TO 'webuser'@'localhost';

我收到了这条消息:

ERROR 1133 (42000): Can't find any matching row in the user table

我做错了什么?

附加信息:

用户已经存在。这个:

mysql> SELECT User, Host FROM mysql.user WHERE User='webuser';

输出为:

+---------+------+
| User    | Host |
+---------+------+
| webuser | %    |
+---------+------+
1 row in set (0.00 sec)

【问题讨论】:

  • 首先你应该创建webuser用户来添加特权
  • @FarshadFahimi:用户已经存在
  • 用户不是localhost,而是%
  • @FarshadFahimi:我不知道为什么是 %。在任何情况下,GRANT command should be GRANT ALL PRIVILEGES ON xxx.* TO 'webuser'@'localhost' IDENTIFIED BY 'password'; 都有效。
  • % 表示每个人都可以访问

标签: mysql privileges


【解决方案1】:

最好使用这个链接create user and add privileges

或在运行此命令之前 GRANT ALL PRIVILEGES ON xxx.* TO 'webuser'@'localhost' 你应该做这个 CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'password' 使用此命令,您可以在localhost 上的mysql 用户中添加webuser,并使用“密码”的password 然后为您的用户添加权限

【讨论】:

  • 用户已经存在。
  • 正确的 GRANT 命令应该是GRANT ALL PRIVILEGES ON xxx.* TO 'webuser'@'localhost' IDENTIFIED BY 'password';
猜你喜欢
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 2015-02-10
相关资源
最近更新 更多