MySQL 安装 audit 日志审计插件

╰半夏微凉° 2024-03-24 00:13 164阅读 0赞

下载

我的MySQL版本是 5.7.37的,用的是日志审计插件(audit-plugin)是1.1.10的,大家可以对应自己版本去下载。

https://github.com/trellix-enterprise/mysql-audit/releases

配置

1、进入到/opt目录下载 audit,可以从本地下载完上传到你的linux系统中

  1. cd /opt
  2. wget --no-check-certificate https://github.com/trellix-enterprise/mysql-audit/releases/download/v1.1.10/audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip

2、解压缩

  1. unzip audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip

3、找到你MySQL的安装插件目录

  1. show global variables like 'plugin_dir';

在这里插入图片描述
4、复制安装相关插件包,执行相应以下命令

  1. cp audit-plugin-mysql-5.7-1.1.10-980/lib/libaudit_plugin.so /usr/lib64/mysql/plugin/
  2. chmod +x /usr/lib64/mysql/plugin/libaudit_plugin.so
  3. chown mysql:mysql /usr/lib64/mysql/plugin/libaudit_plugin.so

5、登录到你的MySQL,安装 audit插件

  1. install plugin audit soname 'libaudit_plugin.so';

在这里插入图片描述
如果出现错误,请看坑!

6、检验配置

  1. show plugins;

在这里插入图片描述
7、检查版本

  1. show global status like 'AUDIT_version';

在这里插入图片描述
8、开启临时的日志审计功能和其他设置(永久设置请看坑的配置)

开启audit功能

  1. SET GLOBAL audit_json_file=ON;

查看audit配置,包括audit_json.txt存储路径

  1. show variables like '%audit%'\G;

在这里插入图片描述

永久配置

如果你在配置中的第5步出现错误:
在这里插入图片描述

ERROR 1123 (HY000): Can't initialize function 'audit'; Plugin initialization function failed.

可以看本配置

1、找到mysqld

  1. whereis mysqld

在这里插入图片描述

2、生成坐标,并且复制坐标,前两个字段不用复制!

  1. ./audit-plugin-mysql-5.7-1.1.10-980/utils/offset-extract.sh /usr/sbin/mysqld

在这里插入图片描述

3、找到MySQL配置文件

  1. whereis my.cnf

在这里插入图片描述
4、修改SQL配置文件并加入以下配置

  1. # 审计offsets 不要乱配置
  2. audit_offsets=7832, 7880, 3640, 4800, 456, 360, 0, 32, 64, 160, 544, 7996, 4368, 3648, 3656, 3660, 6080, 2072, 8, 7064, 7104, 7088, 13480, 148, 672, 0
  3. # 审计操作命令
  4. audit_record_cmds='select,insert,delete,update,create,drop,alter,grant,truncate'
  5. # 审计开关
  6. audit_json_file=on
  7. # 加载审计第三方库
  8. plugin-load=AUDIT=libaudit_plugin.so
  9. # 审计日志路径
  10. audit_json_log_file=/var/log/mysql_audit.json

在这里插入图片描述
5、保存重启MySQL。

  1. systemctl mysql restart

6、再次进入到MySQL进行安装 audit 插件

  1. install plugin audit soname 'libaudit_plugin.so';

如果还报错!还有ERROR 1123 (HY000): Can't initialize function 'audit'; Plugin initialization function failed.这个错,那么就看下面的坑!

网上都是shi!

垃圾csdn,翻来翻去都是相同的帖子,都他妈复制过来复制过去的,一点脑子也不带!

后来去的GitHub中找到了解决问题,解决问题很简单,只需要关闭当前Linux系统中的selinux即可。

从github上老外回答问题上找到了解决方法:https://github.com/trellix-enterprise/mysql-audit/issues/157

1、查看 是否开启

  1. sestatus

在这里插入图片描述

2、临时关闭,重新启动系统后,此设置将消失。

  1. echo 0 > /selinux/enforce

或者

  1. setenforce 0

在这里插入图片描述

3、永久性关闭,重启后不会失效

  1. cat /etc/selinux/config

接下来修改配置文件中的selinux选项,修改为disabled。

在这里插入图片描述
保存重启后再次查看状态

在这里插入图片描述

文章参考:https://baijiahao.baidu.com/s?id=1730368050174256968&wfr=spider&for=pc

发表评论

表情:
评论列表 (有 0 条评论,164人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring data-审计auditing)功能

    前言 日常开发中,经常会遇到实体有创建时间,更新时间,创建人,更新人等字段。这些字段不是核心的业务字段,但是对于跟踪数据记录却非常重要。由于重要程度不是那么高,经常会忘了