mysql如何使用审计日志_mysql审计日志配置方法

2次阅读

首先安装mariadb Audit Plugin,将libserver_audit.so复制到mysql插件目录并启用server_audit插件,然后在my.cnf中配置审计参数如日志格式、路径和事件类型,最后重启MySQL服务并验证日志记录是否正常。

mysql如何使用审计日志_mysql审计日志配置方法

MySQL 审计日志功能可以帮助你监控和记录数据库的操作行为,比如谁在什么时候执行了哪些 SQL 语句。要实现审计日志,通常使用 MySQL Enterprise Audit 插件(官方企业版功能),或者通过开源替代方案如 MariaDB Audit Plugin(适用于社区版 MySQL)。下面介绍如何在 MySQL 社区版中配置审计日志。

安装 MariaDB Audit Plugin(适用于 MySQL)

MySQL 社区版本身不带审计插件,但可以通过集成 MariaDB 提供的 audit plugin 来实现审计功能。

  • 下载对应版本的 libaudit_plugin.so 文件(通常包含在 MariaDB 的安装包中)
  • 将插件文件放入 MySQL 插件目录,可通过命令查看:

SHOW varIABLES LIKE ‘plugin_dir’;

  • 将 libaudit_plugin.so 复制到该目录下

启用审计插件

登录 MySQL 执行以下命令启用插件:

INSTALL PLUGIN server_audit SONAME ‘libserver_audit.so’;

安装成功后,可通过以下命令确认插件已加载:

SHOW PLUGINS; —— 查找 server_audit 是否为 ACTIVE

配置审计日志参数

编辑 MySQL 配置文件(通常是 my.cnf 或 my.ini),在 [mysqld] 段落中添加以下配置项:

server_audit_logging=ON
server_audit_log_format=jsON (可选:支持 LOG、jsoncsv
server_audit_log_file=/var/log/mysql/audit.log (指定日志路径)
server_audit_events=connect,query,table (记录连接、查询、表操作)
server_audit_excl_users=root (可选:排除某些用户,如 root 不记录)

mysql如何使用审计日志_mysql审计日志配置方法

NameGPT

免费的名称生成器,AI驱动在线生成企业名称及Logo

mysql如何使用审计日志_mysql审计日志配置方法 104

查看详情 mysql如何使用审计日志_mysql审计日志配置方法

保存配置后重启 MySQL 服务使设置生效:

sudo systemctl restart mysql

验证审计日志是否生效

执行一些数据库操作,例如:

select * FROM test.users;
CREATE USER ‘testuser’@’localhost’;

然后检查指定的日志文件(如 /var/log/mysql/audit.log)是否有相应记录:

如果配置为 JSON 格式,你会看到类似如下内容:

{ “timestamp”: “2025-04-05T10:00:00″, “user”: “appuser@192.168.1.100″, “query”: “SELECT * FROM users”, “host”: “192.168.1.100” }

说明审计日志已正常工作。

基本上就这些。只要插件正确安装并配置好参数,MySQL 就能自动记录关键操作,便于后续安全审计和问题排查。注意确保日志目录有写权限,并定期归档防止磁盘占满。

text=ZqhQzanResources