MySQL如何开启记录查询日志(mysql记录查询日志)
在MySQL中,用户可以通过记录查询日志来记录数据库中运行过的查询。这有助于查看运行的查询是否有效及持续运行的性能,以便能够进行性能调优。本文将讨论MySQL如何开启记录查询日志。
在MySQL中,可以使用general_log或slow_query_log来记录查询日志。general_log记录所有的SQL查询,而slow_query_log只记录运行慢的查询。
首先,MySQL中的general_log选项默认是关闭的,可以使用以下命令开启它:
SET GLOBAL general_log = 'ON';
当general_log被开启之后,MySQL开始将所有的SQL查询记录到general_log_file文件中。这个文件一般位于/var/lib/mysql/目录下。可以使用如下命令来查看general_log_file文件的位置:
SHOW VARIABLES LIKE 'general_log_file';
另外,还可以使用MySQL提供的另一个选项slow_query_log来记录慢查询。可以使用以下命令开启slow_query_log:
SET GLOBAL slow_query_log = 'ON';
同样,slow_query_log也会将记录落入slow_query_log_file文件,文件的位置可以使用以下命令查看:
SHOW VARIABLES LIKE 'slow_query_log_file';
此外,MySQL还提供了一个”long_query_time”的变量来控制将哪些SQL查询被记录到slow_query_log_file。低于long_query_time设定的时间则被当作慢查询处理,超过long_query_time设定的时间则被当作快查询,不记录日志。可以使用以下命令来查看long_query_time变量:
SHOW VARIABLES LIKE 'long_query_time';
最后,可以使用以下命令来设定long_query_time变量:
SET GLOBAL LONG_QUERY_TIME=10;
综上所述,可以在MySQL中使用general_log和slow_query_log来记录查询日志,使用变量long_query_time来控制将哪些查询记录到日志文件中。然后将有效的查询信息及时查看,以便及时根据实际情况进行性能调优。