项目地址
https://github.com/mcafee/mysql-audit/
下载地址:
https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.6-784#files
查看mysql插件目录:
root@localhost:mysql.sock/(none)> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
+---------------+------------------------------+
| Variable_name | Value |
+---------------+------------------------------+
| plugin_dir | /usr/local/mysql/lib/plugin/ |
+---------------+------------------------------+
1 row in set (0.02 sec)
复制下载的so文件至plugin_dir,
cp /root/libaudit_plugin.so /usr/local/mysql/lib/plugin/libaudit_plugin.so
chown mysql:mysql /usr/local/mysql/lib/plugin/*
chmod a+x /usr/local/mysql/lib/plugin/*
创建日志目录
mkdir /data/mysql_audit_log/
chown mysql.mysql /data/mysql_audit_log/
修改my.cnf文件,添加加载审计插件代码
plugin-load=AUDIT=libaudit_plugin.so
audit_json_file=on
audit_force_record_logins=on
audit_json_file_sync=1
audit_record_cmds=drop
重启数据库
/etc/init.d/mysqld restart
验证是否生效:
#查看版本
SHOW GLOBAL STATUS LIKE 'AUDIT_version';
#查看是否开启
SHOW GLOBAL VARIABLES LIKE 'audit_json_file';
#查看安装的插件
show plugins;
重要的参数说明:
1. audit_json_file
是否开启audit功能
2. audit_json_log_file
记录文件的路径和名称信息
3. audit_record_cmds
audit记录的命令,默认为记录所有命令可以设置为任意dml、dcl、ddl的组合
如:audit_record_cmds=select,insert,delete,update
还可以在线设置set global audit_record_cmds=NULL(表示记录所有命令)
4.audit_record_objs
audit记录操作的对象,默认为记录所有对象,可以用SET GLOBAL audit_record_objs=NULL设置为默认。
也可以指定为下面的格式:audit_record_objs=,test.*,mysql.*,information_schema.*
其他配置参数参考: https://github.com/mcafee/mysql-audit/wiki/Configuration