我有一个数据库,我希望用户能够创建新用户.这可以通过GRANT CREATE USER实现,如下所示:
grant create user on *.* to foo;
这很好用,foo可以创建用户.我的问题是如果以root身份运行上面的行,但是如果作为普通用户运行则不起作用,即使此类用户已具有CREATE USER权限.
简而言之,普通用户无法委派创建用户的能力.我一直在寻找能够做到这一点的任何特殊权限,而且我开始认为只有root才能做到这一点,尽管我在MySQL文档中没有找到任何证据.
问题是:如何让普通用户让新用户创建用户?
这两个答案都很有用 - 我使用了两者的组合,似乎有效.
作为root(admin是普通用户):
mysql> grant create user on *.* to admin with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
作为管理员(记住,他是普通用户):
mysql> grant create user on *.* to foo with grant option;
Query OK, 0 rows affected (0.00 sec)
非常感谢.
小智 5
为了能够授予GRANT其他用户权限,必须创建 MySQL 用户WITH GRANT OPTION。
http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-other-characteristics
小智 5
-- Create username user
GRANT ALL PRIVILEGES ON `tshirtshop`.*
      TO 'username'@'localhost' IDENTIFIED BY 'password'
      WITH GRANT OPTION;
| 归档时间: | 
 | 
| 查看次数: | 22817 次 | 
| 最近记录: |