mysql开启日志审计

1安装

1.1 下载插件

Releases · mcafee/mysql-audit · GitHub

备注:下载插件一定要注意插件支持数据库的版本,否则安装失败。

经后期验证,基于docker版本的mysql安装插件失败,报错:patch send_result_to_client 。

经过相关信息搜索,docker版本和编译版本还是有一些区别,能够安装的docker版本,目前测试5.6.36版本可用。

1.2 解压插件

1
2
unzip audit-plugin-mysql-5.7-1.1.7-805-linux-x86_64.zip
cd audit-plugin-mysql-5.7-1.1.7-805/lib

1.3 查询mysql的插件目录

1
SHOW GLOBAL VARIABLES LIKE 'plugin_dir'

img

1.4 拷贝libaudit_plugin.so到mysql插件目录

1
2
3
cp libaudit_plugin.so  /usr/local/mysql/lib/plugin/
chmod +x libaudit_plugin.so
chown mysql:mysql libaudit_plugin.so

1.5 安装插件

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

1.6 开启设计功能

1
mysql> set global audit_json_file=1;

1.7 修改mysql配置文件

1
2
3
4
audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate'  # 记录操作内容
audit_json_file=on # 保证mysql重启后自动启动插件
plugin-load=AUDIT=libaudit_plugin.so # 防止删除了插件,重启后又会加载
audit_json_log_file=/data/logs/mysql/mysql_audit.json # 日志路径(可选,默认在数据库data目录下生成mysql_audit.json日志文件)

2 其他相关命令

  • 查询插件相关配置
1
mysql > SHOW GLOBAL VARIABLES LIKE '%audit%';

image-20220113121640885

  • 查询插件版本
1
mysql > show global status like 'AUDIT_version';

img

  • 显示当前插件
1
mysql > show plugins;

img

3 延申内容

3.1 docker版mysql5.6安装

说明
采用docker版本mysql5.6安装插件,发现只有mysql5.6.36版本可以正常加载插件安装,该版本以上没有成功。

参考

https://www.cnblogs.com/syy1757528181/p/14480232.html

-------------本文结束感谢您的阅读-------------

本文标题:mysql开启日志审计

文章作者:OperationMAN

发布时间:2022年01月12日 - 15:01

最后更新:2022年08月29日 - 14:08

原始链接:https://kxinter.gitee.io/2022/01/12/mysql开启日志审计/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!