私は本番マシンで次の設定をしています:
Mysql server 5.5.19
アクティブな (ps 行をチェックした) my.cnf には以下が含まれます:
slow_query_log
slow_query_log_file =/opt/app/mysql/log/mysqld-slow.log
long_query_time = 1
general_log = OFF
general_log_file =/opt/app/mysql/log/mysqld.log
log-queries-not-using-indexes
mysql> 「log%」のような変数を表示; --> 「log_queries_not_using_indexes=ON」と「log_slow_queries=ON」が表示されます
ファイル /opt/app/mysql/log/mysqld-slow.log が存在し、mysql に属し、長さがゼロです。
問題は、テスト マシンで、log-queries-not-using-indexes オプションが原因で、遅いクエリ ログが急速にいっぱいになることです。とにかく必要だったので、無効にしました。今、私たちは実稼働データベースを稼働させ、同じことが起こらないことを確認したかったので、同じセットアップを見つけましたが、ログは空です. mysqld を再起動して遊んでいるわけにはいきません。ログが空である理由を理解したいだけですが、構成は多くのクエリをログに記録する必要があることを示しているようです。実行中の一般的なアプリケーションは、運用サーバーとテスト サーバーで同じであるため、実際にインデックスが作成されていないクエリが発生しない可能性はほとんどありません。
問題は、何もログに記録されていない理由を確認するために、他にどのような構成を確認できるかということです。ログに記録したくありません。何らかの理由でdbサーバーが再起動された場合に、突然ログが開始されないようにしたいだけです。my.cnf からオプションを削除するだけでそれを達成できることはわかっていますが、現在ログに記録されていない理由も理解したいと思います。
ありがとう、イーサン