我的MySQL版本细节是
如何启用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以下的版本:
使用您喜欢的文本编辑器vi /etc/my.cnf编辑/etc/my.cnf文件
在"[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
如果服务器高于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
归档时间: |
|
查看次数: |
61091 次 |
最近记录: |