MySQL的审计功能,主要可以记录下对数据库的所有操作,包括登录、连接、对表的增删改查等,便于责任追溯,问题查找,当然一定方面也会影响数据库效率。根据 MySQL 版本的不同有两种分为企业版和社区版:
a、企业版 MySQL Enterprise Edition(收费)自带AUDIT审计功能。
b、社区版 MySQL Community Server(免费)需要自己下载插件。
为社区版提供审计的插件的主要有以下三个 McAfee MySQL Audit Plugin、Percona Audit Log Plugin、MariaDB Audit Plugin。
这里主要讲述:
MariaDB Audit Plugin
MariaDB官网下载对应版本的安装包, 从安装包中获得版本对应的server_audit.so插件,拷贝到到 自己的mysql插件库下(MySQL与 MariaDB的版本对应很重要,之前这上面吃了大亏。低版本的容易导致数据库奔溃,选择的是5.7.21版本的mysql数据库、 MariaDB的版本是5.5.57!)安装插件,开启审计功能,配置my.cnf文件。具体说明如下:
1、下载MariaDB的tar.gz压缩包:https://downloads.mariadb.org/mariadb/5.5/
2、提取出server_audit.so,放到mysql的插件目录下面,mysql的插件文件目录可以通过:SHOW GLOBAL VARIABLES LIKE 'plugin_dir'; 得到
3、执行:install plugin server_audit SONAME 'server_audit.so';
4、修改配置my.cnf,在【mysqld】下面写上:
server_audit_events='CONNECT,QUERY,TABLE' server_audit_logging=ON server_audit_file_path =/data/mysql/mysql_audit/ server_audit_file_rotate_size=200000000 server_audit_file_rotations=200 server_audit_file_rotate_now=ON
该配置需要预留40个G的日志空间!
重启mysql即可!
不过需要注意的地方,就是日志文件存放的目录,mysql需要有权限访问!
chown mysql:mysql -R /data/mysql/mysql_audit/