需求
客戶需要查詢誰修改、插入、刪除的操作記錄,通常在沒有開啟審計功能的話,
可以利用binlog解析數據獲取,但是比較麻煩,今天給大家介紹一個mysql審計插件。
一、下載插件:
https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.7-805#files
二、解壓插件復制到mysql lib庫插件目錄下:
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
三、數據庫中查看mysql的插件目錄:
SHOW GLOBAL VARIABLES LIKE 'plugin_dir'
四、拷貝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=1;
七、添加配置到 mysql 配置文件
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 #日志路徑
audit_offsets=7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080
八、其他相關命令
SHOW GLOBAL VARIABLES LIKE '%audit%';
- 顯示插件版本
show global status like 'AUDIT_version';
- 顯示當前插件
show plugins;