我想将每个会话用户的活动以非常高的级别存储到表中。 我写了一个程序“audit.login_trigger”。我已经创建了所需的模式(审计DB和表)。有点像这样。
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()";
我希望每个用户连接都执行此操作。我将此PROCEDURE的EXECUTE权限授予root用户,但是当root用户登录时,它不会按预期填充审计模式。这里可能出了什么问题?
提前致谢。
答案 0 :(得分:0)
由于此用户被命名为“root”,我想知道它是否具有超级权限。如果是,请注意init_connect不会为超级用户触发。