首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中,执行触发器需要哪些特权?

问在MySQL中,执行触发器需要哪些特权?
EN

Stack Overflow用户
提问于 2013-11-06 15:18:09
回答 1查看 9K关注 0票数 4

我觉得MySQL手册中定义器的解释很难理解,所以我不确定运行应用程序的“execute user”需要什么特权。为了安全起见,我喜欢将“execute user”限制在所需的最小权限范围内。

我知道触发器/存储过程的创建者需要超级权限,但是“执行用户”也需要超级权限吗?

我在一个用户下创建了一个触发器,最终失去了数据库的特权。“execute user”没有超级权限,触发器失败的MySQL更新失败。

我给了'execute user‘超级特权,并通过删除和创建触发器将定义器更改为root,这一切都能工作。我必须给‘执行用户’超级特权,还是我必须确保定义用户仍然存在,并拥有超级特权?

MySQL的触发器和存储过程用于用户管理的最佳实践是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-06 21:24:29

在存储例程和触发器之间有一些区别。在这里,我将试图帮助解决触发的问题。

我希望下面的总结是有帮助的。

第一件事是确定您正在使用的MySQL版本。

根据文件:

MySQL 5.0:13.1.11.创建触发器语法

从MySQL 5.0.17开始,MySQL在检查触发器特权时会考虑定义者用户,如下所示:

  • 在创建触发器时,发出语句的用户必须拥有超级权限。
  • 在触发激活时,将根据定义器用户检查权限。该用户必须具有以下权限:
代码语言:javascript
复制
- The SUPER privilege.
- The SELECT privilege for the subject table if references to table columns occur using OLD.col\_name or NEW.col\_name in the trigger body.
- The UPDATE privilege for the subject table if table columns are targets of SET NEW.col\_name = value assignments in the trigger body.
- Whatever other privileges normally are required for the statements executed by the trigger. 

​

在MySQL 5.0.17之前,定义器不可用,MySQL检查触发器特权如下:

  • 在创建触发器时,发出语句的用户必须拥有超级权限。
  • 在触发器激活时,将根据其操作导致触发器被激活的用户检查权限。该用户必须拥有触发器执行的语句通常需要的任何特权。

MySQL 5.1及以上版本:13.1.19。创建触发器语法

MySQL在检查触发器特权时将定义用户考虑在内,如下所示:

  • 在创建触发器时,发出语句的用户必须具有触发器特权。(超级在MySQL 5.1.6之前)
  • 在触发激活时,将根据定义器用户检查权限。该用户必须具有以下权限:
代码语言:javascript
复制
- The TRIGGER privilege. (SUPER prior to MySQL 5.1.6.)
- The SELECT privilege for the subject table if references to table columns occur using OLD.col\_name or NEW.col\_name in the trigger body.
- The UPDATE privilege for the subject table if table columns are targets of SET NEW.col\_name = value assignments in the trigger body.
- Whatever other privileges normally are required for the statements executed by the trigger.

​

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19815837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档