web-dev-qa-db-ja.com

mysqlのスローログはどこにありますか?

タイトルのとおり、どこで見れますか?

そのための構成オプションはありますか(クエリが遅いかどうかをミリ秒単位で判断するなど)?

26
poelinca

インストールに応じて、デフォルトのディレクトリにあります。たとえば、私のRed Hatでは、/ var/log/mysql /です。

クエリ時間とは、記録を開始するまでの時間(秒単位)です。これは、起動時と実行時に行うことができます。

log-slow-queries = /var/log/mysql/mysql-slow.log

long_query_time = 1

22
David Hall

MySQLの場合:show global variables like '%slow%';

更新:これはマニュアルへのリンクです: link text

26
SteveHarville

これらは、私が通常持っている/使用するすべての関連オプション(および設定)ですmy.cnfsは、遅いクエリをログに記録します。

log_output=FILE
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql.slow 
long_query_time=0.001 
log-queries-not-using-indexes=0

long_query_time の場合、

MySQL 5.1.21以降では、ファイルへのロギング時にマイクロ秒の解像度がサポートされています。

7
Riedsio

Mysqld設定ファイル(通常は/etc/my.cnf)を検索します

あなたのシェルで:

grep slow /etc/my.cnf
3
randomx

ここでも考慮すべき点があります:

オプションを使用する場合

log-output=TABLE

/etc/my.cnfファイルで、遅いログを探して、すべての場所のmysqlスキーマにあるCSVストレージエンジンベースのテーブルを探します。

有効にすると、これは一般的なログにも影響します。

2
RolandoMySQLDBA