【发布时间】:2020-07-09 16:15:04
【问题描述】:
我想设置我的代码以在启动时清除“用户”的所有授权,然后授予他们新的权限,有点像这样。
从“用户”中撤销 db.* 上的所有权限;
GRANT SELECT, EXECUTE ON db.* TO 'user';
但是,我收到以下错误:
SQL 错误 [1141][42000]:没有为主机 '%' 上的用户 'user' 定义此类授权
是否有某种功能,当且仅当用户存在时,我可以撤销用户的权限?
【问题讨论】:
我想设置我的代码以在启动时清除“用户”的所有授权,然后授予他们新的权限,有点像这样。
从“用户”中撤销 db.* 上的所有权限;
GRANT SELECT, EXECUTE ON db.* TO 'user';
但是,我收到以下错误:
SQL 错误 [1141][42000]:没有为主机 '%' 上的用户 'user' 定义此类授权
是否有某种功能,当且仅当用户存在时,我可以撤销用户的权限?
【问题讨论】:
没有。解决这个问题的简单、略显可笑的方法是
GRANT SELECT ON db.* TO 'user';
REVOKE ALL PRIVILEGES ON db.* FROM 'user';
GRANT SELECT, EXECUTE ON db.* TO 'user';
【讨论】: