当前位置: 首页 > news >正文

MySQL 8.4企业版 安装和配置审计插件

                

在最新的MySQL 8.4.4企业版上启用审计日志功能

操作系统:Ubuntu 24.04

数据库:8.4.4-commercial for Linux on x86_64 (MySQL Enterprise Server - Commercial)

1.查看安装脚本

下面2个脚本位于mysql安装目录 share 下,一个是window一个是linux可以用。

audit_log_filter_win_install.sql
audit_log_filter_linux_install.sql 
root@ubuntu01:/# ls -lh /usr/share/mysql-8.4/| grep audit_log_filter
-rw-r--r-- 1 root root 1.5K Dec 16 19:00 audit_log_filter_linux_install.sql
-rw-r--r-- 1 root root  961 Dec 16 19:00 audit_log_filter_uninstall.sql
2.安装审计插件

通过 MySQL 客户端运行位于安装目录 share 下的脚本(需管理员权限)
执行安装脚本 脚本会创建审计插件所需的系统表和存储过程

-- 安装审计插件mysql -u root -p -D mysql < /usr/share/mysql-8.4/audit_log_filter_linux_install.sql

成功返回下面结果

Result
OK

安装后会在 mysql 库中生成两张表:
audit_log_filter:存储审计日志的过滤规则(JSON 格式定义)
audit_log_user:关联用户与过滤规则,支持按用户设置审计策略
 

3.验证插件状态

查看插件列表中是否存在 audit_log,确认 audit_log 插件状态为 ACTIVE。

SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'audit%';


mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'audit%';
+-------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+-------------+---------------+
| audit_log   | ACTIVE        |
+-------------+---------------+
1 row in set (0.00 sec)mysql> 
4.参数配置

在 MySQL配置文件(如 my.cnf 或 my.ini)中添加以下参数后 重启服务

#  Audit Log 
audit-log=FORCE_PLUS_PERMANENT  # 防止插件被意外卸载
audit_log_policy = ALL       # 记录策略(可选 ALL、NONE、LOGINS、QUERIES)
audit-log-exclude-accounts=root@% # 排除 不记录日志的账号
audit_log_file = /var/log/mysql/audit.log   # 日志文件默认存储在 datadir 目录
audit_log_format = JSON      #  必须使用 JSON 格式以支持过滤规则<200c>
audit_log_rotate_on_size=1073741824    # 日志文件轮换阈值(单位:字节) 限制单个文件为 1GB
audit_log_prune_seconds=1209600 # 14 days
audit_log_strategy=ASYNCHRONOUS  # 异步写入以降低性能影响
audit_log_encryption = AES # 需要依赖kerying加密组件

其中 audit_log_policy 的取值有:

·ALL - all events will be logged
·LOGINS - only logins will be logged
·QUERIES - only queries will be logged
·NONE - no events will be logged
 

5.用户级过滤规则(可选)

7.日志管理

tail -n 100 /var/log/mysql/audit.log

日志文件默认不自动轮换,需手动清理或设置 audit_log_rotate_on_size 参数限制大小

# 手动轮换

SELECT audit_log_rotate();

8.停用审计功能

a.永久停用

执行 audit_log_filter_linux_uninstall.sql 可完全卸载审计功能

mysql -u root -p -D mysql < /usr/share/mysql-8.4/audit_log_filter_linux_uninstall.sql

b.临时停用

执行下面的命令

SET GLOBAL audit_log_disable = true;

官网资料 https://dev.mysql.com/doc/refman/8.0/en/audit-log-reference.html#audit-log-option-variable-reference

相关文章:

  • 0422--在网页中上传头像(图片)
  • ChatBEV:一种理解 BEV 地图的可视化语言模型
  • 【论文阅读25】-滑坡时间预测-PFTF
  • 解耦旧系统的利器:Java 中的适配器模式(Adapter Pattern)实战解析
  • bert4keras
  • UV: Python包和项目管理器(从入门到不放弃教程)
  • SQL 时间转换的CONVERT()函数应用说明
  • 实验二 多线程编程实验
  • [蓝桥杯 2025 省 Python B] 最多次数
  • HashedWheelTimer源码分析
  • Scrapy框架爬虫官网的学习
  • OpenCV 图形API(55)颜色空间转换-----将图像从 RGB 色彩空间转换为 I420 格式函数RGB2I420()
  • 第九章:Agent Protocol Implementation
  • 香港云服务器内存使用率过高如何解决此问题
  • PH热榜 | 2025-04-23
  • 【金仓数据库征文】从 HTAP 到 AI 加速,KingbaseES 的未来之路
  • 《AI大模型应知应会100篇》第35篇:Prompt链式调用:解决复杂问题的策略
  • day4 pandas学习
  • godot源码编译
  • Oracle EBS R12.2 汉化
  • 外交部回应美财长涉中国发展经济模式言论:损害各国人民共同利益的是美方
  • 潘功胜在美谈关税:吁全球经济勿滑向“高摩擦、低信任”轨道
  • 云南蒙自:一汪南湖见证近代开埠史与西南联大的弦歌不绝
  • 海南陵水一酒店保洁员调包住客港币,被判刑一年六个月
  • 外贸50城,谁在“扛大旗”?
  • 上海34年“老外贸”张斌:穿越风暴,必须靠过硬的核心竞争力