MST

星途 面试题库

面试题:MySQL中如何开启慢查询日志并设置慢查询的时间阈值?

请详细描述在MySQL中开启慢查询日志的具体步骤,包括修改配置文件或使用SQL语句设置相关参数,以及如何设置慢查询的时间阈值,即查询执行时间超过多久会被记录到慢查询日志中。
39.3万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 修改配置文件(以Linux系统为例,假设MySQL配置文件为my.cnf
    • 打开my.cnf文件,一般路径为/etc/my.cnf/etc/mysql/my.cnf
    • [mysqld]部分添加或修改以下配置:
      slow_query_log = 1 # 开启慢查询日志,1表示开启,0表示关闭
      slow_query_log_file = /var/log/mysql/slow-query.log # 设置慢查询日志文件路径,可根据实际情况修改
      long_query_time = 2 # 设置慢查询的时间阈值,单位为秒,这里表示查询执行时间超过2秒会被记录到慢查询日志中,可按需调整
      
    • 保存并关闭文件,然后重启MySQL服务,使配置生效:
      sudo systemctl restart mysql
      
  2. 使用SQL语句设置相关参数(临时生效,MySQL重启后失效)
    • 登录MySQL数据库:
      mysql -u your_username -p
      
    • 开启慢查询日志:
      SET GLOBAL slow_query_log = 1;
      
    • 设置慢查询日志文件路径(如果需要临时修改):
      SET GLOBAL slow_query_log_file = '/var/log/mysql/slow-query.log';
      
    • 设置慢查询的时间阈值:
      SET GLOBAL long_query_time = 2;
      

通过以上两种方式,都可以开启MySQL的慢查询日志并设置慢查询的时间阈值。配置文件方式重启MySQL后依然生效,SQL语句方式只在当前MySQL运行期间生效。