看不到慢查询日志

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本】 centos7
  • TiDB 版本】 V2.1
  • 磁盘型号】 固态硬盘
  • 集群节点分布】 2tidb+2pd+tikv
  • 数据量 & region 数量 & 副本数】 副本2
  • 问题描述(我做了什么)】 看不到慢查询日志 根据官网介绍,v2.1 版本 可以配置 慢查询日志文件和在 INFORMATION_SCHEMA.SLOW_QUERY表中查询到,但是数据库中没有这个表;

配置文件: inventory.ini enable_slow_query_log = True —update后看不到慢查询文件;

tidb.toml 增加:

[log] disable-timestamp = false expensive-threshold = 10000 format = “text” level = “info” query-log-max-len = 2048 slow-threshold = 600

[log.file] log-rotate = true max-backups = 2 max-days = 7 max-size = 300

重启后看到配置文件生效: MySQL [(none)]> show variables like ‘%slow%’; ±--------------------------±-----------------------------------------+ | Variable_name | Value | ±--------------------------±-----------------------------------------+ | tidb_slow_log_threshold | 600 | | slow_query_log | 1 | | log_slow_admin_statements | OFF | | log_slow_slave_statements | OFF | | slow_query_log_file | /usr/local/mysql/data/localhost-slow.log | | slow_launch_time | 2 |

但是还是没有 INFORMATION_SCHEMA.SLOW_QUERY表 和慢查询file文件,请协助!

1、INFORMATION_SCHEMA.SLOW_QUERY 系统表是2.1的后期版本才引入的,应该是2.1.10之后的某个版本,所以需要看一下你的 tidb 具体是哪个小版本,可以用 select tidb_version(); 来查看

2、tidb 中 slow 相关的变量有些是兼容 MySQL 语法语义的,所以这里的 slow_query_log_file 只是兼容 MySQL 的变量,在后期的版本中加入了tidb_slow_query_file 这个变量,默认是在 tidb 的 deploy_dir 目录下有个tidb-slow.log 这个文件