yeminhua
(Ti D Ber Kzr7 Vqek)
1
【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.10
tidb-2024-10-11T11-30-46.759.log:[2024/10/11 08:43:04.541 +08:00] [INFO] [session.go:3817] [“CRUCIAL OPERATION”] [conn=8045381667135873489] [schemaVersion=8047511] [cur_db=dw] [sql=“drop table if EXISTS DWA_TI_USER_UM_SUBSCRIBER_PLUS_D
”] [user=fjbi@%]
tidb-2024-10-11T11-30-46.759.log:[2024/10/11 08:43:04.555 +08:00] [INFO] [ddl.go:1030] [“[ddl] start DDL job”] [job=“ID:23248960, Type:drop table, State:queueing, SchemaState:public, SchemaID:52, TableID:14574788, RowCount:0, ArgLen:2, start time: 2024-10-11 08:43:04.547 +0800 CST, Err:, ErrCount:0, SnapshotVersion:0”] [query=“drop table if EXISTS DWA_TI_USER_UM_SUBSCRIBER_PLUS_D
”]
昨天有个表被删除了,想知道是谁操作的,请问如何查历史的客户端和会话信息?
SELECT * FROM information_schema.DDL_jobs WHERE job_type = ‘drop table’ ORDER BY start_time DESC;
呢莫不爱吃鱼
3
舞动梦灵
(Ti D Ber Nckmz Hmh)
5
SELECT * FROM information_schema.DDL_jobs
你看下这个表数据,可以看到所有操作过的DDL的一些信息,但是想看到对应客户端或者登陆的用户名,我之前也想找过历史记录,但是tidb和mysql貌似都没有历史会话记录。oracle上面是有的
1 个赞
yeminhua
(Ti D Ber Kzr7 Vqek)
6
是的,DDL_jobs这些里看到的和tidb日志里的基本一样,我想知道是从哪一个客户端IP地址之类的连接过来操作的,就是不知道谁干的。
啦啦啦啦啦
8
tidb.log里面会记录操作用户,搜下关键字CRUCIAL OPERATION,但是ip是不会记录的
1 个赞
diwing
(Ti D Ber R Qstj35v)
9
EXISTS DWA_TI_USER_UM_SUBSCRIBER_PLUS_D
”] [user=fjbi@%]
user=fjbi@%. 这个用户,审计也不好查,建议收回drop权限
啦啦啦啦啦
10
还有一个办法,如果这个表比较大,可能drop会超过300ms,这个时候去看看慢日志,这里既会记录操作用户,又会记录客户端IP
哈喽沃德
11
ip是服务器ip吗,如果办公ip问下管理网络的有没有做网络认证。
1 个赞
Kongdom
(Kongdom)
12
不好查,估计只有审计日志里才有。像我们这边都是一个用户一个负载ip,根本查不出来是谁执行的
执行的时间和用户可以查询到,执行的客户端ip需要用企业版的审计功能
啦啦啦啦啦
15
通常DDL都会超过300ms,所以慢日志基本都能找到对应的信息,并不是只有审计日志才有
yeminhua
(Ti D Ber Kzr7 Vqek)
16
tidb_slow_log_threshold被设置为1秒了,没有相关的记录。
system
(system)
关闭
17
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。