kotaoueはそんなかんじ

kotaoueの最新情報。

MySQL 5.1以降 で サーバを運用しながら、slow.logをとるようにする

運用しているDBサーバで、slow.logを取得したくなったものの、
運用しているDBなので、–log-slow-queriesオプションをつけて起動とかできなくて、
どうすんべコレと思ったら、普通にsqlモードからできた話。
まず、MySQLにログインしてから、念のために以下を実行。
mysql > show global variables like '%query%';
slow_query_log が offになっているのを確認。
onになっていたら、slow_query_log_fileの場所を確認してみる。
ちゃんとoffになっていたら、下を実行。
mysql > set global slow_query_log = 1;
mysql > set global slow_query_log_file = '/var/log/mysql-slow.log';
mysql > set global long_query_time = 3;
上から、
slow_logをとるようにする。
slow_logの保存場所
実行に何秒以上かかるとslowlogにする
という設定。
あとは、再度、↓で設定内容を確認して終わり。
mysql > show global variables like '%query%';
               ,.  |7
               ヽ|  ´,.--<>
              |> / ノ: : :!
                 ノ: : : : : :/
               ,.|: : :,;彡'´
             /^)'  ̄
              (ソ「
                | | __
                  i/| | __ヾヽ
              | |/ ヘ! ん Y \
              | l| ドー┐ / 了
              | | |∠_//_|__
             < ( ̄ ̄ //〃/ア
               `Y\/  \/\
               i⌒v' ̄ ̄ ̄| \,.ヘ
                i=<ニ>= = :!  \丶
                |_∧___ゝ  (__ノ
           ヾ,v.>  |__/⌒\  }
 ヾ.v.>  _____  .| |   { }   `Y⌒)
  | | f' =ニニ =ゝ | |   ,ノ」       ) L、
  | | !ミ     彡!,|,」,            ̄
  ,,|,」,`'─----─'
あと、show variablesの際に、globalとかつけないと

SHOW VARIABLES では、GLOBAL または SESSION のいずれも指定しない場合、MySQL は SESSION 値を返します。
MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 4.2.4 システム変数の使用

というところに引っかかって、値が変更されてないので注意


コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。