当前位置: 首页 > 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

http://www.xdnf.cn/news/109315.html

相关文章:

  • 大模型Agent
  • 第十七讲、Isaaclab中使用操作空间控制器
  • Vue3:watch(监听事件)
  • 【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量
  • 基于javaweb的SpringBoot扶农助农平台管理系统设计与实现(源码+文档+部署讲解)
  • 【OceanBase相关】01-OceanBase数据库部署实践
  • java面试题及答案2020,java最新面试题(四十四)
  • 民宿管理系统4
  • 基于ESP32 - S3的MD5校验算法的C语言例程
  • 动态显微镜数据分析及AI拓展
  • 字典树(前缀树)的实现(5)0423
  • Linux: 进程的调度
  • spring-session-data-redis使用
  • # 深度学习中的学习率调度:以 PyTorch 图像分类为例
  • 扣子空间试用:生成五一骑行规划+notion文章编写
  • 青少年编程与数学 02-018 C++数据结构与算法 06课题、树
  • 2022 年 9 月青少年软编等考 C 语言七级真题解析
  • 文献分享:广谱性谷蛋白肽-HLA-DQ2.5复合物中和抗体的表征
  • Qt多线程学习初级指南
  • lerobot[act解析]
  • 【浙江大学DeepSeek公开课】走向数字社会:从DeepSeek到群体智慧
  • JDK(Ubuntu 18.04.6 LTS)安装笔记
  • OrbStack 全面介绍:功能、安装与使用指南
  • Java 拦截器完全指南:原理、实战与最佳实践
  • 【Flutter高效开发】GetX指南:一文学会状态管理、路由与依赖注入
  • BEVFormer论文解读
  • 如何实现应用创新:一个实用框架
  • Java 开发瓶颈破局:飞算 JavaAI 如何一站式生成标准化项目结构?
  • 本节课课堂总结
  • kotlin与MVVM结合使用总结(一)