我正在使用 DBForge 和 MariaDB10,发生的情况是我正在使用角色来控制对数据库的访问。
当我对过程或函数代码进行一些更改时,角色会失去我之前授予的权限,因此我需要再次授予访问权限。
这很糟糕,因为每次我更改代码时,用户都会失去他的访问权限,我需要再次授予权限。
任何人都可以帮助我或给我一些启发吗?
我和OP有同样的问题,我降落在这里。看来这是 MySql 的预期行为。我发现的唯一解决方法是获取我想要编辑的过程的权限,然后重新运行它们,为此我使用以下查询
SELECT
CONCAT('GRANT EXECUTE ON ',Db,'.',Routine_name,' TO \'',User,'\'@\'',Host,'\';')
FROM mysql.procs_priv
WHERE Routine_name ='Procedure_name';