我的MySQL版本细节如何启用MySQL慢查询日志?
- 服务器:localhost通过UNIX套接字
- 软件:MySQL的
- 软件版本:5.0.96社区日志 - MySQL社区版(GPL)
- 协议版本:10
如何启用MySQL慢查询日志?
我的MySQL版本细节如何启用MySQL慢查询日志?
如何启用MySQL慢查询日志?
如果您的服务器在5.1.6以上,您可以在运行时本身设置慢速查询日志。您必须执行此查询。
set global log_slow_queries = 1;
set global slow_query_log_file = <some file name>;
或者你也可以设置在my.cnf/my.ini
选项文件中的这个选项
log_slow_queries = 1;
slow_query_log_file = <some file name>;
参见:http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_slow_query_log_file
得到错误#1238 - 变量'log_slow_queries'是一个只读变量 – John
由于MySQL版本少于5.1检查这个http://stackoverflow.com/questions/2403793/how-can-i-enable -mysqls-slow-query-log-without-restarting-mysql –
由于5.6.1,'log_sloq_queries'被替换为'slow_query_log' - https://dev.mysql.com/doc/refman/5.6/en/server -system-variables.html#sysvar_slow_query_log –
版本5.1.6及以上版本:
1.输入MySQL她11和运行下面的命令:
set global slow_query_log = 'ON';
2.启用任何其它期望的选项。下面是一些常见的例子:
set global log_queries_not_using_indexes = 'ON'
设置路径慢查询日志:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
的预期检索所有行,而不是使用索引的查询日志详细信息
设置查询在运行前需要运行的时间量:
set global long_query_time = '20';
(default is 10 seconds)
3.确认的更改是通过输入MySQL的壳和运行下面的命令活性:
show variables like '%slow%';
版本5.1.6如下:
用你最喜欢的文本编辑器编辑/etc/my.cnf文件 vi /etc/my.cnf
在“[mysqld]”部分下添加以下行。随意的路径,日志文件更新到任何你想要的:
log-slow-queries=/var/log/mysql/slow-query.log
3.根据需要启用额外的选项。下面是从上述相同常用的例子:
设置被记录的时间查询需要之前运行量:
`long_query_time=20
(default is 10 seconds)`
日志中的预期检索所有行,而不是查询详细信息使用索引:
`log-queries-not-using-indexes`
4.重新启动MySQL服务:
service mysqld restart
5.确认的变化是活性通过输入MySQL外壳中并运行以下:
show variables like '%slow%';
更新:1
根据MySQL的文档,错误#当您使用SQLSTATE的错误代码时,会发生1193错误。
Message: Unknown system variable %s
而且,正如您在同一页面上看到的,未定义SQLSTATE 99003。
参考以下链接:
如果键入 “如何启动MySQL慢查询日志” 在谷歌中,有10个结果,让你瞬间copypaste结果。在问问题之前为什么不谷歌?它速度更快,它避免了像我这样会给你-1的人。 –
@ N.B。事情是,如果你现在做你的谷歌搜索,这个问题是第二个结果。生命之轮... –