mysql 8.4.6开启审计(使用Percona审计插件不成功)

环境:
OS:Centos 7
mysql:8.4.6
Percona-mysql:8.4.0-1(获取审计文件)

说明:Percona-mysql:8.4.0-1审计插件已经不使用于MySQL 8.4版本了

 

1.下载Percona版本的MySQL
我这里下载的是:Percona-Server-8.4.0-1-Linux.x86_64.glibc2.17

下载完成后解压
tar -xvf Percona-Server-8.4.0-1-Linux.x86_64.glibc2.17.tar.gz

 

2.获取安全审计需要的文件
component_audit_log_filter.so

路径为:/soft/Percona-Server-8.4.0-1-Linux.x86_64.glibc2.17/lib/plugin
audit_log_filter_linux_install.sql

路径为:/soft/Percona-Server-8.4.0-1-Linux.x86_64.glibc2.17/share

将以上2个文件分别拷贝到安装好的mysql服务器相应的目录
scp component_audit_log_filter.so root@192.168.1.105:/opt/mysql8/lib/plugin/
scp audit_log_filter_linux_install.sql root@192.168.1.105:/tmp/ ##该文件为sql文件,可存放到其他目录

 

3.修改权限
chown -R mysql:mysql /opt/mysql8

 

4.安装审计插件
-D mysql指定安装在mysql数据库下
/opt/mysql8/bin/mysql -h localhost -uroot -P3306 -S /opt/mysql8/mysql.sock -p -D mysql</tmp/audit_log_filter_linux_install.sql

 

5.查看
执行以上脚本后会生成如下2个表
/opt/mysql8/bin/mysql -h localhost -uroot -P3306 -S /opt/mysql8/mysql.sock -p
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| audit_log_filter |
| audit_log_user |

 

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

 

6.验证插件状态
查看插件列表中是否存在audit_log,确认 audit_log 插件状态为 ACTIVE.
/opt/mysql8/bin/mysql -h localhost -uroot -P3306 -S /opt/mysql8/mysql.sock -p

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

 

7.如下配置项加入到mysql配置文件

# Audit Log
audit-log=FORCE_PLUS_PERMANENT
audit_log_policy = ALL
audit-log-exclude-accounts=root@%
audit_log_file = /opt/mysql8/audit/audit.log
audit_log_format = JSON
audit_log_rotate_on_size=1073741824
audit_log_prune_seconds=1209600
audit_log_strategy=ASYNCHRONOUS
audit_log_encryption = AES

 

posted @ 2025-08-14 16:51  slnngk  阅读(69)  评论(1)    收藏  举报