稼働中のmysqlサーバでスローログを出力する

公開日時

mysql5.5で確認。

スローログの設定はmysqldの再起動なしに変更ができるため、稼働中のmysqlサーバで一時的にスローログを出力することができる。

set global slow_query_log = 1;

スローログの出力を止める場合は↓を実行する。

set global slow_query_log = 0;

↓を設定すると、indexを使ってないクエリと、実行に1秒以上かかったクエリがスローログとして記録される。

set global long_query_time = 1;
set global log_queries_not_using_indexes = 1;

参考


Related #mysql

Dockerでpt-query-digestを使う

コンテナのおかげで手軽にslowlog分析ができるようになった

mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.

windowsだとvolume mountすると777になるのでDockerfileを作ってcopyするようにした

SQLのbetweenは以上から以下の範囲になる

いざ使うときに間違えそうなのでメモ

mysqlのテーブル一覧を取得するワンライナー

sedの使い方をいつも忘れる

Sequel ProでJSON型を含むテーブルのexport/importを行う

test build版を使う必要があった