【问题标题】:Execute a mysql stored procedure from the definer account, without execute privileges从定义者账户执行一个mysql存储过程,没有执行权限
【发布时间】:2015-07-24 08:05:04
【问题描述】:

我在我的 mariaDB 数据库中创建了一个存储过程。定义者是一个受限用户,没有 EXECUTE 权限(在数据库、表和过程级别)。

但是我可以从这个帐户成功地执行这个过程。

这是正常的行为吗,即使没有EXECUTE权限,定义者也可以执行该过程?

【问题讨论】:

    标签: mysql stored-procedures privileges execute


    【解决方案1】:

    这是正常行为。来自manual

    执行存储的例程需要 EXECUTE 权限。但是,此权限会在必要时自动授予例程的创建者(并在删除例程时从创建者处删除)。此外,例程的默认 SQL SECURITY 特征是 DEFINER,它使有权访问与例程关联的数据库的用户能够执行例程。

    【讨论】:

    • 谢谢,我确实查看了文档,但没有找到。它在哪里?
    • @galinette,相关手册部分已在答案中链接;)
    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 2012-10-20
    • 2015-10-10
    • 2014-09-26
    相关资源
    最近更新 更多