概要
Aurora(MySQL)でスロークエリをテーブル(mysql.slow_log
)に記録し確認できる
スロークエリログがテーブルに記録されるようにする
DBパラメータグループで以下を設定
パラメータ名 | 設定値 | 説明 |
---|---|---|
slow_query_log | 1 | スロークエリログを有効にするかどうか |
long_query_time | 5 | ログに記録されるクエリの最短実行時間(秒)。任意の値を設定する |
log_output | TABLE | ログの出力先(TABLE or FILE) |
参考: MySQL データベースログファイル - Amazon Relational Database Service
スロークエリログを確認する
SELECT * FROM mysql.slow_log;
スロークエリログをローテーションする
放っておくと無限にスロークエリログがテーブルに溜まっていくので、ログが多くなってきたらローテーションすると良い。
↓のプロシージャを実行するとログがローテーションされる
CALL mysql.rds_rotate_slow_log;
- 現在のログテーブル(
slow_log
)がバックアップのログテーブル(slow_log_backup
)にコピーされ、現在のログテーブルは空っぽになる。 - バックアップのログテーブル(
slow_log_backup
)がすでに存在する場合は、現在のログテーブルをバックアップにコピーする前に、削除される。
参考: mysql.rds_rotate_slow_log - Amazon Relational Database Service