1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQLのslow queryの設定が上手くいかなかった時に確認すること

Last updated at Posted at 2021-04-23

本記事は、この記事からかなりそのまま引用している。

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;
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?