Qazi Asked: 2014-03-31 23:58:11 +0800 CST2014-03-31 23:58:11 +0800 CST 2014-03-31 23:58:11 +0800 CST 如何将所有 mysql 查询记录到日志文件中? 772 我在 Wamp 服务器环境下使用 Mysql 5.6.12。现在我想将所有查询记录到“.log”文件中,由 PHP 或 PHPMyAdmin 运行的查询,我想记录它们...... mysql log 3 个回答 Voted Best Answer Mahesh Patil 2014-04-04T06:48:20+08:002014-04-04T06:48:20+08:00 [mysqld] # Set Slow Query Log long_query_time = 1 slow_query_log = 1 slow_query_log_file = /usr/log/slowquery.log log_queries_not_using_indexes = 1 #Set General Log general_log = on general_log_file=/usr/log/general.log 请注意,general_log在生产服务器上启用会产生开销,您应该避免它。您可以从 中检查有问题的查询slow log。 Xiong Chiamiov 2016-02-19T15:16:30+08:002016-02-19T15:16:30+08:00 由于这是您可能只想暂时做的事情类型,因此从 shell 而不是通过配置文件执行此操作可能会很有用: > set global general_log_file = "/var/log/mysql/queries.log"; > set global general_log = "ON"; [wait some time, hit some pages, whatever] > set global general_log = "OFF"; Vérace 2014-04-01T00:15:44+08:002014-04-01T00:15:44+08:00 将这两行放在 my.cnf 中。 [mysqld] general_log = on general_log_file=/users/ugrad/linehanp/mydb/logfile.txt 这将记录从任何来源到服务器的所有查询,而不仅仅是 PHP/PHPMyAdmin。 不过要小心 - 启用通用日志可能会给您的服务器带来沉重的负担。仅用于短期/调试。 文档可在此处获得。从那里: 要在运行时禁用或启用通用查询日志或更改日志文件名,请使用全局 general_log 和 general_log_file 系统变量。将 general_log 设置为 0(或 OFF)以禁用日志或设置为 1(或 ON)以启用它。设置 general_log_file 以指定日志文件的名称。 所以, general_log = on 和 general_log = 1 是同义词!
请注意,
general_log
在生产服务器上启用会产生开销,您应该避免它。您可以从 中检查有问题的查询slow log
。由于这是您可能只想暂时做的事情类型,因此从 shell 而不是通过配置文件执行此操作可能会很有用:
将这两行放在 my.cnf 中。
这将记录从任何来源到服务器的所有查询,而不仅仅是 PHP/PHPMyAdmin。
不过要小心 - 启用通用日志可能会给您的服务器带来沉重的负担。仅用于短期/调试。
文档可在此处获得。从那里:
所以,
和
是同义词!