我有数据库功能
fn_relation_isModerator
,仅用户
api
可以访问此功能。现在我希望其他用户拥有此权限
(同时保留先前的许可)
.
我通过以下查询检查了例程名称和用户:
select routine_name, routine_type, definer from information_schema.ROUTINES where ROUTINE_SCHEMA = 'db_name';
结果是:
+-------------------------+---------------+----------+
| ROUTINE_NAME | ROUTINE_TYPE | DEFINER |
+-------------------------+---------------+----------+
| | | |
| fn_relation_isModerator | FUNCTION | api@% |
+-------------------------+---------------+----------+
方法1:
因此,我运行以下查询以授予此权限:
GRANT EXECUTE ON PROCEDURE db_name.fn_relation_isModerator TO 'api_worker'@'%';
但它导致了以下错误:
错误代码:1305。过程fn_relationship_ismoderator不存在
方法2:
查询:
GRANT EXECUTE ON FUNCTION `db_name`.`fn_relation_isModerator` TO 'api_worker'@'%';
误差
错误代码:1133。在用户表中找不到任何匹配行
方法3:
查询:
GRANT EXECUTE ON `db_name`.`fn_relation_isModerator` TO 'api_worker'@'%';
错误:
错误代码:1144。非法的GRANT/REVOKE命令;请参阅
查看可以使用哪些权限的手册