MySQL 安装 audit 日志审计插件

下载

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

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

配置

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

cd /opt
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、解压缩

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

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

show global variables like 'plugin_dir';

MySQL 安装 audit 日志审计插件_第1张图片
4、复制安装相关插件包,执行相应以下命令

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

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

install plugin audit soname 'libaudit_plugin.so';

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

6、检验配置

show plugins;

MySQL 安装 audit 日志审计插件_第2张图片
7、检查版本

show global status like 'AUDIT_version';

MySQL 安装 audit 日志审计插件_第3张图片
8、开启临时的日志审计功能和其他设置(永久设置请看坑的配置)

开启audit功能

SET GLOBAL audit_json_file=ON;

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

show variables like '%audit%'\G;

MySQL 安装 audit 日志审计插件_第4张图片

永久配置

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

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

可以看本配置

1、找到mysqld

whereis mysqld

在这里插入图片描述

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

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

在这里插入图片描述

3、找到MySQL配置文件

whereis my.cnf

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

# 审计offsets 不要乱配置
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
# 审计操作命令
audit_record_cmds='select,insert,delete,update,create,drop,alter,grant,truncate'
# 审计开关
audit_json_file=on
# 加载审计第三方库
plugin-load=AUDIT=libaudit_plugin.so
# 审计日志路径
audit_json_log_file=/var/log/mysql_audit.json

MySQL 安装 audit 日志审计插件_第5张图片
5、保存重启MySQL。

systemctl mysql restart

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

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、查看 是否开启

sestatus

MySQL 安装 audit 日志审计插件_第6张图片

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

echo 0 > /selinux/enforce

或者

setenforce 0

MySQL 安装 audit 日志审计插件_第7张图片

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

cat /etc/selinux/config

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

MySQL 安装 audit 日志审计插件_第8张图片
保存重启后再次查看状态

在这里插入图片描述

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

你可能感兴趣的:(笔记记录,数据库开发,mysql,数据库)