gpt4 book ai didi

mysql - MySQL 是否支持内部可变性或粘性位?

转载 作者:行者123 更新时间:2023-11-29 07:12:15 24 4
gpt4 key购买 nike

假设,我有一个复杂的 MySQL 程序。该过程基本上是一个复杂的 SELECT 查询,它使用表中的数据来输出一些记录。

为了方便起见,程序需要写入临时表来计算最终结果。

那么我是否可以正确授予权限,以便只能读取数据库的用户可以调用此过程来获取其输出,尽管该过程实际上需要写入数据库?因为本质上这个过程并不打算写入,它只是将一些数据缓存到名称以下划线开头的特定表中,因此除了占用磁盘存储空间之外,它不会严重破坏任何内容。

最佳答案

A stored program or view that executes in definer security context executes with the privileges of the account named by its DEFINER attribute. These privileges may be entirely different from those of the invoking user.

https://dev.mysql.com/doc/refman/5.7/en/stored-programs-security.html

只要定义过程的用户具有必要的权限,并且没有显式强制过程在 INVOKER 上下文中运行,调用用户的权限就具有对程序可以执行的操作没有影响。 定义用户的权限适用于过程的操作。

调用用户只需能够运行它。无需特殊安排,因为这是默认行为。

DEFINER 默认为创建过程的用户。如果该帐户具有 SUPER 权限,他们实际上可以声明一个不同的定义者帐户,其权限将适用。

关于mysql - MySQL 是否支持内部可变性或粘性位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com