学而时习之,不亦说乎~
分享一个系统变量,实现类似sqlserver的跟踪语句功能,只要开启,就能实时跟踪数据,再也不需要通过慢查询来跟踪语句了~
tidb_general_log
- 作用域:GLOBAL
- 是否持久化到集群:否,仅作用于当前连接的 TiDB 实例
- 默认值:
OFF
- 这个变量用来设置是否在日志里记录所有的 SQL 语句。该功能默认关闭。如果系统运维人员在定位问题过程中需要追踪所有 SQL 记录,可考虑开启该功能。
- 在 TiDB 配置项
log.level
为"info"
或"debug"
时,通过查询"GENERAL_LOG"
字符串可以定位到该功能在日志中的所有记录。日志会记录以下内容:
conn
:当前会话对应的 IDuser
:当前会话用户schemaVersion
:当前 schema 版本txnStartTS
:当前事务的开始时间戳forUpdateTS
:事务模式为悲观事务时,SQL 语句的当前时间戳。悲观事务内发生写冲突时,会重试当前执行语句,该时间戳会被更新。重试次数由max-retry-count
配置。事务模式为乐观事务时,该条目与txnStartTS
等价。isReadConsistency
:当前事务隔离级别是否是读已提交 (RC)current_db
:当前数据库名txn_mode
:事务模式。可选值:OPTIMISTIC
(乐观事务模式),或PESSIMISTIC
(悲观事务模式)sql
:当前查询对应的 SQL 语句