开启 slow query log, 储存执行慢的 MySQL 语句


有时发觉程式执行很慢, 其中一个要检查的地方是数据库。MySQL 可以将执行过的 SQL 语句全部纪录下来, 或者可以只是将执行慢的 SQL 语句纪录下来, 这样对于 MySQL 语句的 Debug 就轻松很多了。

要纪录执行慢的 SQL 语句, 可以透过修改 my.cnf 完成, my.cnf 多数在以下位置:

/etc/my.cnf
/etc/mysql/my.cnf

先开启 my.cnf, 在 [mysqld] 段落加入以下几行:

以上几行的意思分别是:

slow_query_log = 1
开启纪录执行慢的 SQL 语句:

slow_query_log_file = /var/log/mysql-slow.log
设定纪录档的位置在 /var/log/mysql-slow.log

long_query_time = 2
设定当 SQL 语句执行时间超过 2 秒时, 便会将 SQL 语句储存。

修改好 my.cnf 后, 重新启动 MySQL 便完成了。

Leave a Reply