mysql:记录特定用户登录

djmepvbi  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(306)

我正在寻找一个存储过程或东西来记录用户登录到mysql。用户必须在肯定列表中。
我需要记录用户,登录时间,ip/主机名和查询(查询不是必要的,但有一个很好的)。
我的主要问题是我不能通过常规查询日志来完成,因为每个示例每天生成+23gb的日志(我有18个示例),而且我没有足够的容量。
我考虑了一些关于存储过程的问题,但是我不能理解它,但是不确定它是否是正确的方法。
扩容不是一种选择。
平台是:
centos linux 7.3.1611版
mysql-community-server-5.6.36-2
任何关于如何解决我的问题的想法都是欢迎的。

vecaoik1

vecaoik11#

您可能正在查找mysql init\u connect系统变量:
服务器为每个连接的客户机执行的字符串。字符串由一个或多个sql语句组成,用分号字符分隔。
因此,基本上您需要创建一个表来记录登录,并设置 init_connect 系统变量如下:

INSERT INTO my_logging_audit
SELECT USER(), NOW()
WHERE USER() IN ('foo', 'bar');

相关问题