MySQLのslow queryの設定が上手くいかなかった時に確認すること
本記事は、この記事からかなりそのまま引用している。
slow queryの設定方法は2通り。
mysql> set global slow_query_log_file = '/tmp/mysql-slow.log';
mysql> set global long_query_time = 5;
mysql> set global slow_query_log = ON;
または、my.confからの場合は
/etc/my.conf
[mysqld]
slow_query_log=ON
long_query_time = 5
slow_query_log_file = /tmp/mysql-slow.sql
my.confからの場合は再起。
/etc/init.d/mysqld restart
上手くいかない時がある
とりあえず
もう一回再起動
再起動は成功するけどやっぱり出ない場合は、テーブルに出力してみる
mysql> set global log_output = 'TABLE';
念のため設定確認...。
mysql> show variables like 'slow%';
+---------------------+---------------------+
| Variable_name | Value |
+---------------------+---------------------+
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /tmp/mysql-slow.sql |
+---------------------+---------------------+
slow_query_logがOFFになってたらONへ変更。
mysql> set global slow_query_log = ON
これで出力されるはず。
mysql> select * from mysql.slow_log;
テーブルには出せたけど、やっぱりファイルに出したい
出力先設定。
mysql> set global log_output = 'FILE';
この設定をしたときに権限エラーがでたら、出力先ファイルslow_query_log_fileの権限を確認して変更。
/etc/my.confにゴミが入ってないか確認。(自分はこれw)
long_query_timeを0にしてみる。
mysql> set global long_query_time = 0;
Author And Source
この問題について(MySQLのslow queryの設定が上手くいかなかった時に確認すること), 我々は、より多くの情報をここで見つけました https://qiita.com/picatro/items/fd5cfa94f1b61aa50827著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .