对于我们的软件,我们需要一个能够创建其他MySQL用户的MySQL用户。对于MySQL根用户来说,这是可能的,但是我们不希望在我们的软件应用程序中使用根用户。是否有一种方法可以创建一个可以创建其他用户的MySQL用户?
我在互联网上读到了多个主题和网页,上面说有格兰特选项是可能的。但是,当我检查MySQL权限描述时,这个权限是“授予选项特权使您能够授予其他用户或从其他用户中删除您自己拥有的特权”。因此,不提供创建用户的选项,而只提供您拥有的权限。
也许我理解了一些错误,但我害怕在服务器上做一些错误。这也是我提出问题的原因。
我希望有人能向我解释,如果它是可能的,以及如何,创建一个用户的特权,我们需要。
发布于 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还需要超级特权。
所以这个过程是这样的:
(root)> create user masteruser ...
(root)> grant CREATE_USER to masteruser ...
(masteruser)> create user foo1 ...
(masteruser)> create user foo2 ...此外,使用测试系统测试此类行为也被认为是一种良好的做法;这样,当您陷入困境时,实际的真实数据库就不会受到损害。
发布于 2016-10-07 11:47:10
https://dba.stackexchange.com/questions/151677
复制相似问题