需求

客户需要查询谁修改、插入、删除的操作记录,通常在没有开启审计功能的话,
可以利用binlog解析数据获取,但是比较麻烦,今天给大家介绍一个mysql审计插件。

一、下载插件

https://github.com/mcafee/mysql-audit

二、解压插件复制到mysql lib库插件目录下

unzip audit-plugin-mysql-8.0-1.1.9-974-linux-x86_64.zip
cd audit-plugin-mysql-8.0-1.1.9-974/lib

三、数据库中查看mysql的插件目录

SHOW GLOBAL VARIABLES LIKE 'plugin_dir'

image.png

四、拷贝libaudit_plugin.so到mysql插件目录

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

五、mysql命令行安装libaudit_plugin.so

install plugin audit soname 'libaudit_plugin.so';

六、开启设计功能

set global audit_json_file=on;

七、添加配置到Mysql配置文件

plugin-load=audit=libaudit_plugin.so
audit_json_file=on 

八、其他相关命令

SHOW GLOBAL VARIABLES LIKE '%audit%';
  • 显示插件版本
show global status like 'AUDIT_version';
  • 显示当前插件
show plugins;