今日、CentOSサーバーでMySQL Slow Queries Logを探していましたが、ログを見つけることができませんでした。このファイルを作成することを期待して、「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ファイルが存在しないのはなぜですか?
my.cnf
ファイルに変更を加えたら、MySQLサービスを再起動する必要があります。使用しているシステムはわかりませんが、通常はservice mysqld restart
が機能するか、service mysql restart
-/etc/init.d/
を調べてください。
さらに、ファイルが作成され、ディスク上で利用可能であることを確認してください。
touch /var/log/mysql_slow_queries.log
chown -R mysql:mysql /var/log/mysql_slow_queries.log
さらに、データベースでは時間はそれほど重要ではなく、インデックスのないクエリです。 my.cnf
に以下を追加することを検討してください。もちろん、次の手順を実行したら、MySQLを再起動します。
log-queries-not-using-indexes
/var/log/mysql_slow_queries.logにタッチします
chown mysql:mysql
mysqlサービスを再起動します
mysql -u -pmypassword
sleep(60);を選択します。
cat /var/log/mysql_slow_queries.log
/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);
slow_query_log=1
の[mysqld]
セクションにmy.cnf
を追加し、mysqldを再起動します。