tidb数据库操作日志上哪看

想查看数据库做过的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 天后被自动关闭。不再允许新回复。