【发布时间】:2015-07-24 08:05:04
【问题描述】:
我在我的 mariaDB 数据库中创建了一个存储过程。定义者是一个受限用户,没有 EXECUTE 权限(在数据库、表和过程级别)。
但是我可以从这个帐户成功地执行这个过程。
这是正常的行为吗,即使没有EXECUTE权限,定义者也可以执行该过程?
【问题讨论】:
标签: mysql stored-procedures privileges execute
我在我的 mariaDB 数据库中创建了一个存储过程。定义者是一个受限用户,没有 EXECUTE 权限(在数据库、表和过程级别)。
但是我可以从这个帐户成功地执行这个过程。
这是正常的行为吗,即使没有EXECUTE权限,定义者也可以执行该过程?
【问题讨论】:
标签: mysql stored-procedures privileges execute
这是正常行为。来自manual:
执行存储的例程需要 EXECUTE 权限。但是,此权限会在必要时自动授予例程的创建者(并在删除例程时从创建者处删除)。此外,例程的默认 SQL SECURITY 特征是 DEFINER,它使有权访问与例程关联的数据库的用户能够执行例程。
【讨论】: