MySQL スロークエリログが存在しないのはなぜですか?

MySQL スロークエリログが存在しないのはなぜですか?

今日、CentOS サーバーで MySQL スロー クエリ ログを探しましたが、ログは見つかりませんでした。このファイルが作成されるように「SELECT SLEEP(2)」テストも実行しました。注意してください。私はサーバーにあまり詳しくないので、どんな助けでもありがたいです。

 7
  8 [mysql.server]
  9 user=mysql
 10 basedir=/var/lib
 11
 12 [mysqld]
 13 long_query_time = 1
 14 log_slow_queries=/var/log/mysql_slow_queries.log
 15 log=/var/log/mysql.query.log
 16
 17 ## FINE TUNING ##
 18
 19 key_buffer              = 16M
 20 max_allowed_packet      = 16M
 21 thread_stack            = 128K
 22 thread_cache_size       = 8
 23 query_cache_limit       = 1M
 24 query_cache_size        = 16M
 25
 26 [mysqld_safe]
 27 log-error=/var/log/mysqld.log
 28 pid-file=/var/run/mysqld/mysqld.pid
 29 safe-show-databases

ご覧のとおり、パスは /var/log/mysql_slow_queries.log と表示されていますが、このファイルはどこにも見つかりません。ただし、ディレクトリ内には mysql.query.log と mysqld.log は問題なく見つかりました。MySQL Slow Queries ファイルが存在しないのはなぜですか?

答え1

ファイルに変更を加えたらmy.cnf、MySQL サービスを再起動する必要があります。使用しているシステムが何であるかはわかりませんが、通常はservice mysqld restart動作します。service mysql restartまたは、 を確認してください。/etc/init.d/

さらに、ファイルが作成され、ディスク上で使用可能であることを確認します。

touch /var/log/mysql_slow_queries.log
chown mysql:mysql /var/log/mysql_slow_queries.log

さらに、データベースでは時間はそれほど重要ではなく、インデックスのないクエリの方が重要です。 に次のコードを追加することを検討してくださいmy.cnf。もちろん、追加したら MySQL を再起動してください。

log-queries-not-using-indexes

答え2

/var/log/mysql_slow_queries.log を確認します。

chown mysql:mysql

そして、mysqlサービスを再起動します。

mysql -u -pmyパスワード

スリープ(60)を選択します。

/var/log/mysql_slow_queries.log を cat します

/usr/sbin/mysqld, Version: 5.5.28-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /var/run/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 130904 23:22:14
# User@Host: root[root] @ localhost []
# Query_time: 60.002284  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1378329734;
select sleep(60);

答え3

のセクションslow_query_log=1に追加し、mysqld を再起動します。[mysqld]my.cnf

答え4

Centos 7 では、デフォルトで、MySQL を再起動しなくても、スロー クエリ ログは次の位置で有効になっていることに注意してください。

/var/lib/mysql/$HOSTNAME.log

永続的な構成を適用する方法と、それを別の位置に移動する方法については、他の回答を参照してください。

関連情報