如何在茫茫人海中一眼找出哪个ta来?审计日志量大内容杂,如何能快速轻易的过滤信息和搜索特定事件从而定位问题所在呢?
这就是mysqlauditgrep功能所在的了。也可以使用like匹配或正则表达式来匹配。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/
实例
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。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/
--query-type 选项以逗号分隔的SQL命令列表,值有:INSERT、UPDATE、CREATE、 ALTER、 DROP、 TRUNCATE、 RENAME、 GRANT、 REVOKE、 SELECT、 DELETE、 COMMIT、 SHOW、 SET、 CALL、 PREPARE、 EXECUTE、 DEALLOCATE。值不区分大小写。指定不支持的值报错。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/
--status 选项以逗号分隔的非负整数列表,也就是MySQL错误代码。如:1051,1100-1199,1146。0表示成功的。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/
权限
用户必须要有读取审计日志的权限。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/ 文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-how-to-query-insert-update-queries/

评论