server_audit模块是一个 mariadb 还是skysql 开发的一个mysql 的插件。可以做一些审计上面的工作。
众所周知,mysql 是里面是很难记录用户的操作命令的。用这个就可以。支持两种格式的输出,file 或者syslog。
1.安装
INSTALL PLUGIN server_audit SONAME ‘server_audit‘;
server_audit.so 可以用skysql 上面下载,mariadb 10 里面已经自带了。非常好用。
2.配置
show variables like ‘server_au%‘;
| server_audit_events | |
| server_audit_excl_users | |
| server_audit_file_path | server_audit.log |
| server_audit_file_rotate_now | OFF |
| server_audit_file_rotate_size | 1000000 |
| server_audit_file_rotations | 9 |
| server_audit_incl_users | |
| server_audit_logging | ON |
| server_audit_mode | 0 |
| server_audit_output_type | file |
| server_audit_syslog_facility | LOG_USER |
| server_audit_syslog_ident | mysql-server_auditing |
| server_audit_syslog_info | |
| server_audit_syslog_priority | LOG_INFO |
默认就是记录在文件里面的,在datadir 下面。你也可以改成syslog 的,默认是info 这个级别,记录在/var/log/message.log上面。
输出格式
Jul 15 14:14:12 zabbix mysql-server_auditing: xxxx.com,root,localhost,46,55,QUERY,,‘set global server_audit_output_type=syslog‘,0
Jul 15 14:20:15 zabbix mysql-server_auditing: xxxx.com,root,localhost,46,0,DISCONNECT,,,0
很清晰,时间,用户,操作,都能记录上。