如何在茫茫人海中一眼找出哪个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