ddl如何查询时哪个账号执行的?

ddl如何查询时哪个账号执行的?

看show ddl job里,只有库表语句,执行时间等信息

开启审计了这个

1 个赞

通过审计日志、应用日志、会话跟踪来获取;

还有,查询 INFORMATION_SCHEMA.PROCESSLIST 或者 INFORMATION_SCHEMA.EVENTS 来追踪 DDL 操作以及执行这些操作的账户。

ddl操作如果记录在慢日志中,可以通过information_schema.cluster_slow_query查询到执行的用户

如果执行完成ddl,还可以从哪看到?不开审计

对于执行完成的sql,不开审计,应该是查不到的

这点总有需求,查找xxx删除了表,删除了字段等等

你是要获取当前状态么? 如果是当前的话,直接show processlist就能看到

应该只有开启审计才可以查看到吧

好像只有企业版有这个功能

不用开审计,在 TiDB 日志里就有,你搜索下关键字 ddl.go

开审计可以实现

开审计

通过审计日志、应用日志、会话跟踪来获取。