如何实现没有SUPER权限的表安全?

一个主要的基于云的MySQL提供者不会授予主用户的SUPER权限。 提供商是Amazon RDS,但是我的问题不是专门针对Amazon RDS,而是数据库所有者/pipe理员不具备SUPER权限的一般情况。

缺lessSUPER特权意味着在创build存储过程时不能使用DEFINER子句。

这反过来又意味着,您无法将表locking为给定用户无法访问,同时通过存储过程授予相同的用户间接访问权限。

如果没有SUPER,是否有另外一种方法来实现同样的“不直接访问”安全策略?

不合逻辑的推论。

除了你自己,你不能明确地声明一个DEFINER ,这当然是毫无意义的,因为你已经是定义者了,但你仍然可以使用SQL SECURITY DEFINER | INVOKER SQL SECURITY DEFINER | INVOKER指定过程在运行时使用的安全上下文。 这个部分及其安全方面与拥有SUPER特权时没有什么不同。 唯一的区别是,如果你希望定义者是一个特定的(特权)用户,那么这个过程就可以作为该用户在定义者上下文中运行…… 你必须以DEFINER身份login才能声明过程