mysql审计插件(运维不在背锅)

假设这么一个情况,你是某公司mysqldba,某日突然公司数据库中的数据被人为删了。
尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。
但是拥有数据库操作权限的人很多,如何排查,证据又在哪?
是不是觉得无能为力?
mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢?

mysql审计插件弥补了社区版审计插件的空白

 


mysql审计插件,根据业务需求精心编写的,审计粒度很细,具体用户的具体表的具体操作,操作影响的行数都可以审计,确保数据库安全透明的运行,运维DBA再也不用背锅了。


该插件可以测试使用,不影响数据库性能,
线上数据库请测试环境测试完之后使用,有疑问可以咨询
QQ:67349248

mysql5.6.X.tar.gz到mysql-5.7.8-rc.tar.gz是一个版本----audit5_6_21.so
mysql5.7.1.tar.gz---mysql5.7.9.tar.gz是一个版本----audit5_7_9.so

mysql5.7.10--mysql5.7.22是一个版本


下载地址如下
http://pan.baidu.com/s/1dFGFCrv


一、查找插件所在位置
mysql> show variables like '%plugin_dir%';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| plugin_dir    | /usr/local/mysql/lib/plugin/ |
+---------------+------------------------------+
1 row in set (0.00 sec)
二、将audit_版本号.so插件下载后放到plugin_dir位置
    mv audit_版本号.so  audit.so
三、加载插件
install plugin audit  SONAME 'audit.so';
四、卸载插件
uninstall plugin audit;




使用插件
mysql> show variables like '%audit%';
+----------------+----------------------+
| Variable_name  | Value                |
+----------------+----------------------+
| audit_logfile  | /tmp/mysql_audit.log |
| audit_myswitch | OFF                  |
| audit_num      | 0                    |
| audit_sql      | all_sql              |
| audit_user     | all_user             |
+----------------+----------------------+
5 rows in set (0.01 sec)




mysql> 
mysql> set global audit_logfile='/tmp/mysql_audit_1.log';----只读变量,审计仅指定在/tmp/mysql_audit.log文件,保障权限可以写
ERROR 1238 (HY000): Variable 'audit_logfile' is a read only variable




set global audit_sql='delete;select;drop';   -----这些审计关键字用;分开
set global audit_user='user2;user3';         ----审计用户用;隔开
set global audit_num =0;                          ----审计sql影响的最少行数,默认为0
set global audit_myswitch=on|off|ON|OFF|1|0;       -----开启关闭审计




查看日志linux下tailf /tmp/mysql_audit.log

 

没有更多推荐了,返回首页