首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL 5.0.45中记录慢查询

如何在MySQL 5.0.45中记录慢查询
EN

Stack Overflow用户
提问于 2012-09-14 22:05:02
回答 2查看 4.6K关注 0票数 3

我试图在MySQL v5.0.45 (编译OS: redhat-linus-gnu)上打开慢查询的日志记录,但是我似乎不能让它工作。我试着添加...

代码语言:javascript
复制
long_query_time = 1

添加到我的/etc/my.cnf文件,作为mysqld部分下的最后一个选项,然后我使用以下命令重新启动...

代码语言:javascript
复制
sudo /sbin/service mysqld restart --log-slow-queries=/var/log/slowqueries.log

然后我运行了一些程序,我知道SELECT查询大约需要6-8秒,但是我在任何地方都找不到日志。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-25 04:49:27

对于MySQL 5.0,您要在my.cnf中使用的变量为:

代码语言:javascript
复制
log-slow-queries = /var/log/mylogname.log

您需要手动创建此文件,并将所有权和组设置为mysql。您可以在命令行上使用以下命令执行此操作:

代码语言:javascript
复制
touch /var/log/mylogname.log
chown mysql /var/log/mylogname.log
chgrp mysql /var/log/mylogname.log

您还可以使用以下命令设置您认为“长”的时间长度:

代码语言:javascript
复制
long_query_time = 2

可以使用以下命令添加在没有索引的情况下执行的查询:

代码语言:javascript
复制
log-queries-not-using-indexes

但是,这可能会很快填满你的日志。

我发现有些变量使用下划线,有些变量使用连字符,这很奇怪,而且根据设置变量的方式不同,可以通过my.cnf或命令行进行设置。下面是可以在MySQL 5.0中设置的所有系统变量的列表:http://dev.mysql.com/doc/refman/5.0/en/server-options.html

另一件奇怪的事情是:这篇文档说log-log queries是一个布尔值,当我检查我的全局变量(在mysql中,输入'show global variables;')时,它将这个值显示为'ON',而不是我设置的文件路径。不管怎样,这对我很有效,它写了这个文件。

票数 4
EN

Stack Overflow用户

发布于 2012-09-14 22:19:25

在/etc/my.cnf中添加log_slow_queries = /var/log/mysql/slowqueries.log,然后像往常一样重启mysql,例如sudo service mysqld restart并尝试一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12426182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档