【MySQL】スロークエリログを出力する

 

環境

Version

# mysql --version
mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using EditLine wrapper

 

設定

vim /etc/my.cnf.d/query_slow.cnf
-----------------------------------------------------------
[mysqld]
slow_query_log=1
long_query_time=1
log_queries_not_using_indexes=0
slow_query_log_file=/var/log/mysql_query_slow.log
-----------------------------------------------------------

 

設定項目 設定内容
slow_query_log=1 スロークエリーログを出力する。

デフォルト値は0。(出力しない)

long_query_time=1 1秒かかっているSQLを出力する。

0秒~360024365の範囲で指定。

小数点以下の値を指定することでμs単位まで指定が可能。

0秒を指定することで発行されたSQLを全部保存することも可能。

log_queries_not_using_indexes=0 indexが未使用なクエリに関して記録をする設定。
slow_query_log_file=/var/log/mysql_query_slow.log スロークエリーログの出力先を指定。

 

ログの作成

# touch /var/log/mysql_query_slow.log

# chown mysql.mysql /var/log/mysql_query_slow.log

# systemctl restart mysqld

 

 

関連記事

【MySQL】/etc/my.cnf.d配下の内容を反映する設定 (darcy-it.com)

Twitterでフォローしよう