我想将每个会话用户的活动以非常高的级别存储到一个表中。我写了一个程序“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()";
我希望为每个用户连接执行此操作。我将此 PROCEDURE 的 EXECUTE 权限授予 root 用户,但是当 root 用户登录时,它没有按预期填充审计架构。这里可能出了什么问题?
提前致谢。