问题描述
我以root用户(FULL Privileges)身份登录MysqL,并试图将特定数据库上的所有特权分配给用户。
它为他们提供了所有特权,但不允许对数据库进行管理授予(请参见附件)
对于直接命令行或PHPmyadmin,这是相同的结果
请问有什么想法吗?
预先感谢 P
解决方法
您必须GRANT ALL PRIVILEGES ... WITH GRANT OPTION
。
这意味着您将所有特权授予目标用户,并将特权授予其他用户。
阅读https://dev.mysql.com/doc/refman/8.0/en/grant.html:
可选的WITH子句用于使用户能够授予特权 给其他用户。 WITH GRANT OPTION子句为用户提供了 赋予其他用户该用户所享有的特权的能力 指定的特权级别。
向帐户授予GRANT OPTION特权,而无需其他方式 更改其特权,请执行以下操作:
GRANT USAGE ON *.* TO 'someuser'@'somehost' WITH GRANT OPTION;