由於MySQL的社區版是不支持審計系統的,因為通過第三方的插件實現審計功能。來自McAfee的MySQL插件,為MySQL提供審計功能,重點是安全性和審計要求。該插件可以用作獨立的審核解決方案,也可以配置為將數據提供給外部監視工具。
插件下載地址:
https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.7-805#files
針對自己的系統和MySQL版本下載對應的插件。由於我的MySQL是5.6版本,linux系統是64位,因此下載版本為:audit-plugin-mysql-5.6-1.1.7-805-linux-x86_64
安裝audit-plugin
1.查看MySQL插件目錄
MySQL [(none)]> show global variables like 'plugin_dir'; +---------------+-------------------------------+ | Variable_name | Value | +---------------+-------------------------------+ | plugin_dir | /data/tools/mysql/lib/plugin/ | +---------------+-------------------------------+ 1 row in set (0.00 sec) MySQL [(none)]>
2. 復制插件到MySQL的plugin目錄
[root@localhost soft]# wget https://bintray.com/mcafee/mysql-audit-plugin/download_file?file_path=audit-plugin-mysql-5.6-1.1.7-805-linux-x86_64.zip [root@localhost soft]# unzip download_file\?file_path\=audit-plugin-mysql-5.6-1.1.7-805-linux-x86_64.zip [root@localhost soft]# cd audit-plugin-mysql-5.6-1.1.7-805/lib [root@localhost lib]# cp libaudit_plugin.so /data/tools/mysql/lib/plugin/ [root@localhost lib]# cd /data/tools/mysql/lib/plugin/ [root@localhost plugin]# chmod +x libaudit_plugin.so [root@localhost plugin]# chown mysql.mysql libaudit_plugin.so
3.安裝audit-plugin插件並啟動
MySQL [(none)]> INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so'; MySQL [(none)]> SET GLOBAL audit_json_file=ON;
4.查看audit-plugin參數
mysql> SHOW GLOBAL VARIABLES LIKE '%audi%';
4.查看audit-plugin版本
MySQL [(none)]> show global status like 'AUDIT_version'; +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | Audit_version | 1.1.7-805 | +---------------+-----------+ 1 row in set (0.00 sec)
6.常用參數說明
audit_json_file #是否開啟audit功能(ON\OFF)
audit_json_log_file #log日志名稱及存儲位置,默認mysql的data目錄
audit_record_cmds='' #設置需要監控的SQL命令,默認全部
audit_record_objs=‘db.*’ #設置需要監控的數據庫名稱和表名,默認全部
audit_whitelist_users #用戶白名單
7. 最后為了保證重啟數據庫,配置不丟失,修改my.cnf 配置文件,將下面的配置添加到[mysqld]中,所以在配置文件中my.cnf加入參數:
audit_json_file=on #保證mysql重啟后自動啟動插件
plugin-load=AUDIT=libaudit_plugin.so #防止刪除了插件,重啟后又會加載
audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate' #要記錄哪些命令語句,因為默認記錄所有操作;
8.插件卸載
uninstall plugin audit