在Windows 7上启用MySQL 5中的查询日志

时间:2011-01-19 02:31:45

标签: mysql windows

我该怎么办?我想记录所有查询,不关心性能命中。文档说我需要用-l启动mysqld,但是在编辑这个服务时我无法更改参数。

4 个答案:

答案 0 :(得分:5)

您可以在my.cnf(可能是my.ini)文件中设置选项,无论您的计算机安装在何处。命令行参数更多用于一次性覆盖,而my.cnf用于永久设置。

答案 1 :(得分:5)

  my.ini 

\# SERVER SECTION

\# ----------------------------------------------------------------------

\# The following options will be read by the MySQL Server. Make sure that

\# you have installed the server correctly (see above) so it reads this 

\# file.

[mysqld]

添加

log=filename.log

或者你可以设置绝对路径,请新建新文件;

[mysqld]

下面

你会找到Program Data \ mysql \ MySQL Server 5.1 \ data或者我真的建议使用everything搜索“filename.log”

cmd

中的

 net stop mysql

 net start mysql

答案 2 :(得分:0)

对于慢查询日志添加到my.ini

[mysqld]
# Enable slow query log
slow-query-log
# Name of slow query log file
slow_query_log_file = slow-query.log
# Log all queries that have taken more than long_query_time seconds to execute to file
long_query_time = 3

答案 3 :(得分:0)

MySQL Server 5.7及更高版本中已经启用了慢查询日志,默认设置为10秒

要在命令提示符下测试它,请尝试:

mysql -u root -p
SELECT SLEEP(11);

导航至%PROGRAMDATA%\MySQL\<MySQL Server Version>\Data\*-*-slow.log

# Time: 2018-05-14T18:17:01.863030Z
# User@Host: root[root] @ localhost [127.0.0.1]  Id:     4
# Query_time: 10.999955  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1526321821;
SELECT SLEEP(11);

如果未启用,请导航至

%PROGRAMDATA%\MySQL\<MySQL Server Version>\my.ini并粘贴以下行

# General and Slow logging.
log-output=FILE
general-log=0
general_log_file="DESKTOP-XYZ123.log"
slow-query-log=1
slow_query_log_file="DESKTOP-XYZ123-slow.log"
long_query_time=10

从命令提示符下键入:

net stop <MySQL instance Name>
net start <MySQL instance Name>