如何启用 MySQL 查询日志?

How to enable MySQL Query Log?(如何启用 MySQL 查询日志?)
本文介绍了如何启用 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 查询日志?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)