想查看数据库做过的delete、insert、update语句,有什么方法么?
要看所有的只能开 general log ,不过比较比较耗费资源和存储空间
可以参考如下链接:
https://docs.pingcap.com/zh/tidb/v5.4/system-variables#tidb_general_log
1 个赞
相信的日志必须开general log,但是开了代价很大,尤其是io
查看系统表INFORMATION_SCHEMA.STATEMENTS_SUMMARY
还有系统历史表,不知道可以保留多久日志 STATEMENTS_SUMMARY_HISTORY
这个确实可以
性能和功能是一对冤家啊。
最简单的抓包,有一堆mysql抓包软件可以试试
1 个赞
你这是想要数据库审计功能,有专业的数据库审计厂家。他们一般会通过流量镜像或者agent的方式将流量SQL解析记录,想查谁发起的,IP,主机,操作时间等都可以。除此之外tidb binlog 和ticdc是否能解析变更语句,这个暂时还没研究过,还需其他大神回复。
general log在测试环境查bug还行,生存环境不太现实。
可以考虑旁路镜像的数据库审计设备,对业务入侵很小,只是一般都比较昂贵。
查看系统表INFORMATION_SCHEMA.STATEMENTS_SUMMARY是可以的
不建议开,浪费IO。
要么开binlog,要么开general log
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。