稼働中の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

Authentication plugin 'caching_sha2_password' cannot be loaded

認証プラグインをmysql_native_passwordに戻した

dockerのmysql8環境でmbind: Operation not permitted

cap_addを追加した

MySQLで現在時刻から○日後のデータを作る

DATE_SUB, DATE_ADDとINTERVALを組み合わせる

PrismaでMany-to-manyのテーブルを定義する

暗黙のルールにハマった

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

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

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

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