无法在运行mysql 5.6的wamp上启用MySql通用查询日志文件

时间:2016-08-01 17:42:31

标签: php mysql wamp

我在WAMP中激活一般查询日志文件时遇到问题我已经查看了许多线程,但似乎无法写入日志。

我尝试了很好的查询和错误的查询来尝试查看日志。

有什么建议吗?

这是我的my.ini

# The MySQL server
[wampmysqld]
port        = 3306
socket      = /tmp/mysql.sock
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=c:/wamp/bin/mysql/mysql5.6.17
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.6.17/data
log-output = FILE
general-log = 1
general_log_file=C:/wamp/logs/general-query.log

1 个答案:

答案 0 :(得分:4)

general-log中有拼写错误。它应该是general_log

然后重启mysql。

在重启(例如

)后检查变量
select @@general_log; -- 0 (that means OFF). 1 is ON.
select @@general_log_file; -- GUYSMILEY.log
select @@datadir; -- C:\ProgramData\MySQL\MySQL Server 5.6\Data\
select @@version; -- 5.6.31-log

要设置动态变量以覆盖cnf或ini文件设置,请执行以下操作:

set GLOBAL general_log=1;

enter image description here

请记住,它是datadir,而不是basedir。您可能需要在Windows上打开隐藏文件夹的查看,才能看到\ProgramData,如果这是您datadir点的位置。

最后,您不需要使用错误sql语句欺骗它。通用查询日志适用于所有查询。

有关它的屏幕截图视图,请参阅This Answer。请记住,它适用于所有查询。所以关闭它,制作副本,删除,重新打开,重新生成。不要忘记在生产中激活常规日志会降低性能。

另外,请参阅Gryphius的answer

修改(根据您的评论中的问题)。

如果未在cnf或ini设置中镜像,则动态变量的更改将稍纵即逝。意思是,它们会在mysql重启时重置。

我不知道关闭错误日志记录的方法也不是我想要的。错误很少发生,对它们的了解非常重要。所以下面应该满足你的4个好奇心中的3个:

show variables like '%error%';
show variables like '%slow%';

log_error -- string for filename

slow_query_log -- set to 'ON' or 1, 'OFF' or 0
slow_query_log_file; --- string for filename

然后始终有show variables;

有关slow query log的更多信息。如果将long_query_time设置得足够高,它将有效滤除更多噪音。它是在几秒钟内,从0到10.而Percona一篇文章虽然过时了。

select @@long_query_time;
+-------------------+
| @@long_query_time |
+-------------------+
|         10.000000 |
+-------------------+

注意,我似乎无法使用SET GLOBAL stmt设置上述内容。所以它似乎只是cnf或ini文件的设置。但是你可以做到以下几点:

select @@slow_query_log; -- to see current value
select @@slow_query_log_file; -- to see current value (file in datadir)
select @@datadir; -- to see current value

set global slow_query_log=0; -- Turn Off
-- make a backup of it with a move and rename (See Note1) to a folder below datadir
set global slow_query_log=1; -- Turn it back On (new empty file is created)

注1:复制的文件图像,在上面的Note1时间点重命名。 Image Here