gpt4 book ai didi

Mysql:如何在 init_connect 变量中正确设置过程调用

转载 作者:行者123 更新时间:2023-11-30 23:31:32 30 4
gpt4 key购买 nike

我想将每个 session 用户的事件以非常高的级别存储到一个表中。我写了一个程序“audit.login_trigger”。我已经创建了所需的模式(审计数据库和表)。是这样的。

CREATE PROCEDURE audit.login_trigger()
SQL SECURITY DEFINER
BEGIN
INSERT INTO audit.audit_connect (thread_id, user, login_ts)
VALUES (CONNECTION_ID(), USER(), NOW());
END;

我已将其放在“init_connect”中。

SET GLOBAL init_connect="CALL audit.login_trigger()";

我希望为每个用户连接执行此操作。我将此过程的执行权限授予了 root 用户,但是当 root 用户登录时,它没有按预期填充审计模式。这里可能出了什么问题?

提前致谢。

最佳答案

由于这个用户名为“root”,我想知道它是否具有 super 权限。如果是,请注意 init_connect 不会为 super 用户触发。

关于Mysql:如何在 init_connect 变量中正确设置过程调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346128/

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