mysql从非root用户创建数据库和用户

时间:2014-03-29 11:42:21

标签: mysql permissions

我在mysql数据库中有一个非root用户。它具有授予,创建,创建用户权限。我需要使用该帐户创建一个新的数据库和用户。然后我需要在新创建的数据库上为新创建的用户授予基本使用权限..

我能够使用非root用户创建新数据库和用户。现在,当使用非root用户在新创建的数据库上为新创建的用户授予权限时,我会在新创建的用户上获得非root用户的权限拒绝...任何解决方法?


OP的评论中包含:

执行

SHOW GRANTS FOR 'non_root_account_name'@'his_host'

导致以下

 GRANT CREATE, INDEX, ALTER, CREATE USER 
    ON *.* 
    TO 'non_root_account_name'@'localhost' 
       IDENTIFIED BY PASSWORD 'password' 
       WITH GRANT OPTION  
 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, 
       DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, SHOW VIEW 
    ON non_root_account_name.* 
    TO 'non_root_account_name'@'localhost' 
       WITH GRANT OPTION`  
 GRANT SELECT 
    ON mysql`.* 
    TO 'non_root_account_name'@'localhost'`

1 个答案:

答案 0 :(得分:1)

根据GRANT privileges上的文档:

  

要使用GRANT,您必须具有GRANT OPTION权限,并且您必须具有您授予的权限。

意思是,您的帐户要向其他用户授予权限,它应具有GRANT OPTION权限。

root身份连接并在您的帐户中重新执行grant以授予上述权限。

示例

GRANT
  -- list of privileges here
  -- to your account name @ host
  WITH GRANT OPTION