タグ付けされた質問 「slow-log」



1
「log_queries_not_using_indexes」を有効にすると「long_query_time」が無効になりますか?
Mysqlでlog_queries_not_using_indexes、slow_query_logおよびを有効にするとlong_query_time、クエリ時間が5秒よりはるかに短い場合でも、生成されたスロークエリログファイルに多くのクエリが含まれることに気付きましたlong_query_time。 一度と思われlog_queries_not_using_indexes有効になっている、MySQLは関係なく「long_query_time」は何であるか、インデックスを使用していないではないすべてのクエリをログに記録します。 これを克服する方法はありますか?つまり、long_query_timeインデックスを使用しているかどうかに関係なく、時間がかかるすべてのクエリを記録する方法はありますか?

1
ロギングが遅いクエリ
最適化を使用する可能性のあるクエリを識別するために、サーバーで低速クエリロギングを有効にしようとしています。単純に聞こえますが、私のファイルは書き込まれていません。エラーなどは発生しませんが、遅いクエリを記録しているようには見えません。構成を変更した後、mysqlを再起動することを覚えています。 MySQL Ver 5.1.61を使用しています。my.cnfの内容は次のとおりです。 slow-query-log=1 slow-query-log-file=/var/logs/my.slow.log long_query_time=1 ファイル/var/logs/my.slow.logには所有者としてmysqlがあります。これもデバッグのために、ログファイルのすべてに読み取り/書き込みを許可しました。 上記のlong_query_timeが1に設定されているのは、それが機能しているかどうかだけを見たいからです。私はそれを低く設定しようとしました(例えば0.3)が、まだ何も記録されていません。アプリの実行中のクエリには1秒以上かかることがわかってSELECT sleep(10);います。また、テストのためにターミナルで意図的にログクエリ()を実行しましたが、ログはまだ空です。 私はこれが機能するはずであると私が見ることができるものから、ドキュメントに目を通しました。誰が私が間違っているのかについての提案はありますか?アドバイスをいただければ幸いです。 編集:コメントで尋ねられたように、私はクエリを実行しました: `SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');` 結果: 10.0000000 /var/run/mysqld/mysqld-slow.log OFF これらはデフォルトであると考えているため、明らかに私の構成の変更は考慮されていません。変更しているmy.cnfファイルが、無効な値を入力した場合にmysqlが再起動時にエラーになるように解析されていることは確かです。ここで何が起こっているのでしょうか? 別の編集: @RolandoMySQLDBAのアドバイスを受けて、遅いクエリ設定行を[mysqld]私の設定の下に移動すると、保存されているようです。上記のvariable_valueクエリの結果は次のとおりです。 1.0000000 /var/logs/my.slow.log ON ただし、ファイルmy.slow.logが書き込まれているのを見ていません。私は、ファイルがmysqlのが所有しているとして、それはアクセス許可の問題だとは思わないし、私は、ファイル上のすべてのユーザーのすべての権限を追加しました。誰もこれが機能しない理由を考えることができますか? 編集:解決しました!スロークエリログへのパスが間違っていた、/var/log/my.slow.logの代わりに/ var / *ログインしている必要がありますS * / my.slow.logを。助けてくれてありがとう、私は割り当てを学んだ!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.