我发现MySQL手册中关于DEFINER的解释令人困惑,因此我不确定应用程序运行时“执行用户”需要哪些权限。出于安全考虑,我希望将“执行用户”的权限限制在最少必要的范围内。
我了解到,触发器/存储过程的创建者需要具有SUPER权限,但是“执行用户”是否也需要SUPER权限呢?
我在一个最终失去对我的数据库权限的用户下创建了一个触发器。 “执行用户”没有SUPER权限,导致一个MySQL UPDATE失败。
我为“执行用户”授予了SUPER权限,并通过删除和创建触发器将DEFINER更改为root,现在一切正常。我必须给予“执行用户”SUPER权限吗?或者我必须确保DEFINER用户仍然存在并具有SUPER权限?
使用TRIGGERS和STORED PROCEDURES管理用户的最佳实践是什么?
我了解到,触发器/存储过程的创建者需要具有SUPER权限,但是“执行用户”是否也需要SUPER权限呢?
我在一个最终失去对我的数据库权限的用户下创建了一个触发器。 “执行用户”没有SUPER权限,导致一个MySQL UPDATE失败。
我为“执行用户”授予了SUPER权限,并通过删除和创建触发器将DEFINER更改为root,现在一切正常。我必须给予“执行用户”SUPER权限吗?或者我必须确保DEFINER用户仍然存在并具有SUPER权限?
使用TRIGGERS和STORED PROCEDURES管理用户的最佳实践是什么?