由于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