【发布时间】:2016-06-25 22:50:15
【问题描述】:
我正在查看 MySQL 文档以获取有关如何授予用户创建和删除其他用户的能力的信息。给出的示例用于创建和删除数据库和表。
分配给用户的 GRANT ALL PRIVILEGES 权限是否也暗示他们可以创建和删除其他用户?如果是这样,是否有任何其他 GRANT 特权允许这样做而不自动使用户成为超级用户?或者该过程是否会首先使他们成为超级用户,然后撤销特定权限?
【问题讨论】:
-
有一个
CREATE USER权限。查看详情here in the MySQL documentation -
谢谢,但 CREATE USER 是创建用户的命令,而不是分配给用户的特权/权限。我正在寻找一种方法来授予新创建的用户或现有用户创建其他用户的权限。
-
来自文档:“CREATE USER 权限允许使用 ALTER USER、CREATE USER、DROP USER、RENAME USER 和 REVOKE ALL PRIVILEGES。”。因此,请阅读
ALTER USER部分以了解正确的语法。一旦用户拥有该权限,他就可以按所述创建、更改、删除和重命名用户。不要忘记FLUSH PRIVILEGES。至少 root 具有开箱即用的特权。您可以使用该用户将其提供给另一个用户,依此类推。 -
啊,好的。所以,如果我要创建一个新用户,它只是
GRANT部分的一部分:CREATE USER '<user>'@'%' IDENTIFIED BY '<password>' GRANT CREATE USER ON testdb.* TO '<user>'@'%'。谢谢,有道理。