如何在茫茫人海中一眼找出哪个ta来?审计日志量大内容杂,如何能快速轻易的过滤信息和搜索特定事件从而定位问题所在呢?
这就是mysqlauditgrep功能所在的了。也可以使用like匹配或正则表达式来匹配。
实例
1
2
3
4
5
6
7
8
9
10
|
shell> mysqlauditgrep —query–type=INSERT,UPDATE —status=1–9999 /MySQL/SERVER/data/audit.log
+————+——————————–+———–+———————————————————————————–+———————–+
| STATUS | TIMESTAMP | NAME | SQLTEXT | CONNECTION_ID |
+————+——————————–+———–+———————————————————————————–+———————–+
| 1046 | 2013–08–01T18:20:46 | Query | INSERT INTO tbl_not_exist (a,b,c) VALUES(1,2,3) | 37 |
| 1146 | 2013–08–01T18:21:03 | Query | INSERT INTO mysql.tbl_not_exist (a,b,c) VALUES(1,2,3) | 37 |
| 1054 | 2013–08–01T18:23:10 | Query | INSERT INTO test.t1 (a,b,not_col) VALUES(1,2,3) | 37 |
| 1146 | 2013–08–01T18:26:14 | Query | UPDATE tbl_not_exist SET a = 1 | 37 |
| 1054 | 2013–08–01T18:26:53 | Query | UPDATE test.t1 SET not_col = 1 | 37 |
+————+——————————–+———–+———————————————————————————–+———————–+
|
查找出INSERT 和 UPDATE 失败的记录。MySQl错误代码1-9999。
–query-type 选项以逗号分隔的SQL命令列表,值有:INSERT、UPDATE、CREATE、 ALTER、 DROP、 TRUNCATE、 RENAME、 GRANT、 REVOKE、 SELECT、 DELETE、 COMMIT、 SHOW、 SET、 CALL、 PREPARE、 EXECUTE、 DEALLOCATE。值不区分大小写。指定不支持的值报错。
–status 选项以逗号分隔的非负整数列表,也就是MySQL错误代码。如:1051,1100-1199,1146。0表示成功的。
权限
用户必须要有读取审计日志的权限。
文章转载来自:trustauth.cn