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

mysql从非根用户创建数据库和用户,mysql,permissions,Mysql,Permissions,我在mysql数据库中有一个非root用户。它具有授予、创建、创建用户权限。我需要创建一个新的数据库和用户使用该帐户。然后,我需要在新创建的数据库上向新创建的用户授予基本使用权限 我能够使用非root用户创建一个新的数据库和用户。现在,当涉及到使用非根用户在新创建的数据库上为新创建的用户授予权限时,我会拒绝非根用户在新创建的用户上的权限。。。有解决办法吗 包括在OP的评论中: 执行: SHOW GRANTS FOR 'non_root_account_name'@'his_host' 产生了

我在mysql数据库中有一个非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'`
GRANT
  -- list of privileges here
  -- to your account name @ host
  WITH GRANT OPTION
根据以下文件:

要使用GRANT,您必须具有GRANT选项权限,并且必须具有正在授予的权限

也就是说,如果您的帐户要向其他用户授予权限,它应该具有
grant选项
privilege

root
身份连接,然后在您的帐户上重新执行
grant
以授予上述权限

示例

 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'`
GRANT
  -- list of privileges here
  -- to your account name @ host
  WITH GRANT OPTION

你有没有执行刷新权限?嗨,巴勃罗,没有。我实际上是在用php执行查询。因此,我将通过非root用户登录mysql。那么,什么时候应该执行刷新?就在您更改了某些权限之后。以root用户身份打开MySQL控制台并执行FLUSH PRIVILEGESUm。。。。问题是,我正在使用php脚本进行所有设置。。所以,我需要通过我的脚本建立的连接完成所有工作……如果你重新启动mysql服务,你将得到相同的结果。我实际上是在用php执行查询。因此,我将通过非root用户登录mysql。我进行了双重检查,该帐户具有授权权限您是说非root用户具有
grant option
privilege?能否添加语句的结果
SHOW GRANTS FOR'non_root_account_name'@'his_host'当然。。这是将**上的创建、索引、更改、创建用户授予“非根用户帐户名”@“本地主机”的输出,由密码“密码”标识,并带有授予选项
授予选择、插入、更新、删除、创建、删除、删除、索引、更改、创建临时表,使用授权选项将视图显示在
non\u root\u account\u name
*到“non\u root\u account\u name”@“localhost”
GRANT SELECT ON
mysql
*到“non\u root\u account\u name”@“localhost”