我在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'`
答案 0 :(得分:1)
根据GRANT privileges上的文档:
要使用GRANT,您必须具有GRANT OPTION权限,并且您必须具有您授予的权限。
意思是,您的帐户要向其他用户授予权限,它应具有GRANT OPTION
权限。
以root
身份连接并在您的帐户中重新执行grant
以授予上述权限。
示例:
GRANT
-- list of privileges here
-- to your account name @ host
WITH GRANT OPTION