首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建具有特权的用户以创建用户

创建具有特权的用户以创建用户
EN

Database Administration用户
提问于 2016-10-07 11:21:55
回答 2查看 15.1K关注 0票数 8

对于我们的软件,我们需要一个能够创建其他MySQL用户的MySQL用户。对于MySQL根用户来说,这是可能的,但是我们不希望在我们的软件应用程序中使用根用户。是否有一种方法可以创建一个可以创建其他用户的MySQL用户?

我在互联网上读到了多个主题和网页,上面说有格兰特选项是可能的。但是,当我检查MySQL权限描述时,这个权限是“授予选项特权使您能够授予其他用户或从其他用户中删除您自己拥有的特权”。因此,不提供创建用户的选项,而只提供您拥有的权限。

也许我理解了一些错误,但我害怕在服务器上做一些错误。这也是我提出问题的原因。

我希望有人能向我解释,如果它是可能的,以及如何,创建一个用户的特权,我们需要。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2016-10-07 11:34:48

为了能够创建mysql用户,您需要能够插入mysql数据库中的users表。因此,创建您的主用户并给予他对mysql数据库的写访问权。

文档状态( http://dev.mysql.com/doc/refman/5.7/en/create-user.html )

若要使用CREATE,必须具有mysql数据库的全局CREATE权限或INSERT权限。启用read_only系统变量时,CREATE还需要超级特权。

所以这个过程是这样的:

代码语言:javascript
复制
(root)> create user masteruser ...
(root)> grant CREATE_USER to masteruser ...
(masteruser)> create user foo1 ...
(masteruser)> create user foo2 ...

此外,使用测试系统测试此类行为也被认为是一种良好的做法;这样,当您陷入困境时,实际的真实数据库就不会受到损害。

票数 5
EN

Database Administration用户

发布于 2016-10-07 11:47:10

您要寻找的特权是创建用户特权。

代码语言:javascript
复制
GRANT CREATE_USER on [db].[table] to <user_who_will_have_that_privilege>@<host>

例子:

代码语言:javascript
复制
GRANT SELECT, CREATE USER on *.* to 'test'@'localhost';

关于此特权的MySQL文档:

CREATE权限允许使用ALTER USER__、CREATE USER__、DROP USER__、重命名USER__和撤消所有特权。

EDİT :复制对@til_B's的答案,12分钟后

票数 5
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/151677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档