如何启用 MySQL 查询日志?

时间:2023-04-01
本文介绍了如何启用 MySQL 查询日志?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

如何启用记录从客户端收到的每个SQL查询语句以及查询语句提交时间的MySQL功能?我可以在 phpmyadmin 或 NaviCat 中这样做吗?如何分析日志?

How do I enable the MySQL function that logs each SQL query statement received from clients and the time that query statement has submitted? Can I do that in phpmyadmin or NaviCat? How do I analyse the log?

推荐答案

首先,请记住,此日志文件在繁忙的服务器上可能会变得非常大.

对于 mysql <5.1.29:

要启用查询日志,请将其放在[mysqld]部分的/etc/my.cnf

To enable the query log, put this in /etc/my.cnf in the [mysqld] section

log   = /path/to/query.log  #works for mysql < 5.1.29

另外,从 MySQL 控制台启用它

Also, to enable it from MySQL console

SET general_log = 1;

参见 http://dev.mysql.com/doc/refman/5.1/en/query-log.html

对于 mysql 5.1.29+

在 mysql 5.1.29+ 中,不推荐使用 log 选项.要指定日志文件并启用日志记录,请在 [mysqld] 部分的 my.cnf 中使用它:

With mysql 5.1.29+ , the log option is deprecated. To specify the logfile and enable logging, use this in my.cnf in the [mysqld] section:

general_log_file = /path/to/query.log
general_log      = 1

或者,从 MySQL 控制台打开日志记录(还必须以某种方式指定日志文件位置,或找到默认位置):

Alternately, to turn on logging from MySQL console (must also specify log file location somehow, or find the default location):

SET global general_log = 1;

另请注意,还有其他选项可以仅记录慢速查询或不使用索引的查询.

Also note that there are additional options to log only slow queries, or those which do not use indexes.

这篇关于如何启用 MySQL 查询日志?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:MySQL:大 VARCHAR 与文本? 下一篇:MySQL字符串替换

相关文章