如何启用MySQL慢查询日志?

Joh*_*ohn 34 mysql sql

我的MySQL版本细节是

  1. 服务器:通过UNIX套接字的Localhost
  2. 软件:MySQL
  3. 软件版本:5.0.96-community-log - MySQL社区版(GPL)
  4. 协议版本:10

如何启用MySQL慢查询日志?

jma*_*ail 82

5.1.6及以上版本:

1.输入MySQL shell并运行以下命令:

set global slow_query_log = 'ON';

2.启用任何其他所需选项.以下是一些常见示例:

记录希望检索所有行而不是使用索引的查询的详细信息:

   set global log_queries_not_using_indexes = 'ON'
Run Code Online (Sandbox Code Playgroud)

设置慢查询日志的路径:

  set global slow_query_log_file ='/var/log/mysql/slow-query.log';
Run Code Online (Sandbox Code Playgroud)

设置在记录之前查询需要运行的时间量:

   set global long_query_time = 20;
     (default is 10 seconds)
Run Code Online (Sandbox Code Playgroud)

3.输入MySQL shell并运行以下命令,确认更改已激活:

show variables like '%slow%';
Run Code Online (Sandbox Code Playgroud)

5.1.6以下的版本:

  1. 使用您喜欢的文本编辑器vi /etc/my.cnf编辑/etc/my.cnf文件

  2. 在"[mysqld]"部分下添加以下行.随意将日志文件的路径更新为您想要的任何内容:

    log-slow-queries=/var/log/mysql/slow-query.log

3.根据需要启用其他选项.以下是与上面相同的常用示例:

设置在记录之前查询需要运行的时间量:

  `long_query_time=20
  (default is 10 seconds)`
Run Code Online (Sandbox Code Playgroud)

记录希望检索所有行而不是使用索引的查询的详细信息:

 `log-queries-not-using-indexes`
Run Code Online (Sandbox Code Playgroud)

4.重启MySQL服务:

service mysqld restart
Run Code Online (Sandbox Code Playgroud)

5.输入MySQL shell并运行以下命令,确认更改已激活:

show variables like '%slow%';
Run Code Online (Sandbox Code Playgroud)

更新:1

根据MySQL文档,当您使用错误的SQLSTATE代码时,会出现错误#1193.

Message: Unknown system variable %s
Run Code Online (Sandbox Code Playgroud)

而且,正如您在同一页面上看到的,SQLSTATE 99003未定义.

参考此链接:

http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

  • 当设置查询在记录之前需要运行的时间量时,如果发生错误:ERROR 1232(42000):变量的参数类型不正确,请改用:`set global long_query_time = 5;` (2认同)

Sat*_*h D 5

如果服务器高于5.1.6,则可以在运行时本身中设置慢速查询日志。为此,您必须执行此查询。

set global log_slow_queries = 1;
set global slow_query_log_file = <some file name>;
Run Code Online (Sandbox Code Playgroud)

或者,您可以在my.cnf/my.ini选项文件中设置此选项

log_slow_queries = 1; 
slow_query_log_file = <some file name>;
Run Code Online (Sandbox Code Playgroud)

参考:http : //dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log_file