下載插件包
https://dl.bintray.com/mcafee/mysql-audit-plugin/
注意:
安裝插件的方式優缺點:
缺點:日志信息比較大,對性能影響大。
優點:對每一時刻每一用戶的操作都有記錄。
搭建過程:
下載地址:https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.4-725#files
1、把文件上傳到/opt目錄下
[root@edu-mysql-02 ~]# cd /opt/
[root@edu-mysql-02 opt]# unzip audit-plugin-mariadb-10.2-1.1.4-725-linux-x86_64.zip
2、登錄數據庫,查看存放路徑
mysql> show global variables like 'plugin_dir';
[root@edu-mysql-02 opt]# cp audit-plugin-mariadb-10.2-1.1.4-725/lib/libaudit_plugin.so /usr/lib64/mysql/plugin/
[root@edu-mysql-02 opt]# cd /usr/lib64/mysql/plugin/
授權:
[root@edu-mysql-02 plugin]# chmod +x libaudit_plugin.so
[root@edu-mysql-02 plugin]# chown mysql:mysql libaudit_plugin.so
3、登錄數據庫進行安裝
mysql> install plugin audit soname 'libaudit_plugin.so';
報錯信息如下:
ERROR 1123 (HY000): Can't initialize function 'audit'; Plugin initialization function failed.
解決辦法:
1)授權,加載
[root@edu-mysql-02 utils]# pwd
/opt/audit-plugin-mysql-5.7-1.1.4-725/utils
[root@edu-mysql-02 utils]# chmod +x offset-extract.sh
[root@edu-mysql-02 opt]# which mysqld
/usr/sbin/mysqld
[root@edu-mysql-02 utils]# ./offset-extract.sh /usr/sbin/mysqld
2)編輯/etc/my.cnf
plugin-load=AUDIT=libaudit_plugin.so
audit_offsets = 7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080
3)重啟mysql
[root@edu-mysql-02 utils]# systemctl restart mysqld.service
4、進入mysql安裝
mysql> install plugin audit soname 'libaudit_plugin.so';
5、檢查:
mysql> show plugins;
檢查版本
mysql> show global status like 'AUDIT_version';
開啟audit功能:
mysql> SET GLOBAL audit_json_file=ON;
可以查看插件有哪些可配置的參數:
mysql> show variables like '%audit%'\G;
為了保證重啟數據庫,配置不丟失,修改my.cnf 配置文件,將下面的配置添加到[mysqld]中,所以在配置文件中my.cnf加入參數:
總的如下:
plugin-load=AUDIT=libaudit_plugin.so
audit_offsets = 7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080
audit_json_file = on
audit_record_cmds = 'insert,delete,update,create,drop,alter,grant,truncate'
查看日志:
[root@edu-mysql-02 log]# find / -name mysql-audit.json
[root@edu-mysql-02 log]# tail -f /var/lib/mysql/mysql-audit.json
為了減輕性能的影響,下章講解另一種搭建方式,嘻嘻!!!