MySQL には次のログがあります。 エラーログ: -log-err クエリログ: -log スロークエリログ: -log-slow-queries ログの更新: -log-update バイナリログ: –log-bin デフォルトでは、すべてのログは mysqld データ ディレクトリに作成されます。ログをフラッシュすることで、mysqld にログ ファイルを強制的に閉じて再度開くようにさせることができます (場合によっては新しいログに切り替えることもできます)。ログ フラッシュは、FLUSH LOGS ステートメントを実行するか、mysqladmin flush-logs または mysqladmin refresh を実行すると発生します。 1. エラー ログ<br /> --log-error[=file_name] オプションを使用して、mysqld がエラー ログ ファイルを保存する場所を指定します。 file_name 値が指定されていない場合、mysqld はエラー ログ名 host_name.err を使用し、ログ ファイルをデータ ディレクトリに書き込みます。 FLUSH LOGS を実行すると、エラー ログの名前がサフィックス -old に変更され、mysqld によって新しい空のログ ファイルが作成されます。 (--log-error オプションが指定されていない場合、名前の変更は行われません。) --log-error を指定しない場合、または (Windows の場合) --console オプションを使用する場合、エラーは標準エラー出力 (stderr) に書き込まれます。通常、標準出力は端末です。 2. 一般的なクエリログ --log[=file_name] または -l [file_name] オプションを使用して起動します。 file_name の値が指定されていない場合、デフォルト名は host_name.log になります。 3. スロークエリログ --log-slow-queries[=file_name] オプションを指定して起動すると、mysqld は実行に long_query_time 秒以上かかったすべての SQL ステートメントを含むログ ファイルを書き込みます。file_name 値が指定されていない場合は、デフォルトで、サフィックス -slow.log が付いたホスト名になります。ファイル名は指定されているが絶対パス名が指定されていない場合、ファイルはデータ ディレクトリに書き込まれます。 3. 変更履歴 --log-update[=file_name] オプションから開始することはお勧めしません。 ログ記録は有効になっていますか? mysql> 'log_%' のような変数を表示します。 現在のログを確認する方法 mysql> マスターステータスを表示します。 バイナリログの数を表示します mysql> マスターログを表示します。 mysqlbinlog を使用してバイナリ ログ ファイルを表示する シェル>mysqlbinlog mail-bin.000001 または、シェル>mysqlbinlog mail-bin.000001 | tail 設定ファイルでログ出力場所を指定します。 Windows: Windows 構成ファイルは my.ini で、通常は MySQL インストール ディレクトリまたは c:\Windows にあります。 Linux: Linux 設定ファイルは my.cnf で、通常は /etc にあります。 Linuxの場合: SQLコード # [mysqld]に入力 #ログ ログエラー=/usr/local/mysql/log/error.log ログ=/usr/local/mysql/log/mysql.log 長いクエリ時間=2 ログスロークエリ = /usr/local/mysql/log/slowquery.log # [mysqld] に #log を入力 ログエラー=/usr/local/mysql/log/error.log ログ=/usr/local/mysql/log/mysql.log 長いクエリ時間=2 ログスロークエリ = /usr/local/mysql/log/slowquery.log ウィンドウズ: SQLコード # [mysqld]に入力 #ログ ログエラー="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log" ログ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log" 長いクエリ時間=2 ログスロークエリ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log" # [mysqld] に #log を入力 ログエラー="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log" ログ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log" 長いクエリ時間=2 ログスロークエリ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
低速クエリを有効にする long_query_time = 2 -- SQLが実行された後にログに記録される時間を示します。ここでは2秒です。 log-slow-queries= /usr/local/mysql/log/slowquery.log --遅いクエリを返すステートメントを記録します log-queries-not-using-indexes = nouseindex.log -- インデックスを使用しないクエリをログに記録します log=mylog.log --実行されたすべてのステートメントを記録する Windows で MySQL ログを有効にする: これらを [mysql] の下に追加します (基本的には最後に追加します)。 ログエラー= #クエリ ログ ファイルの名前を入力します。入力しない場合は、デフォルト名が使用されます。 #注: (txt ファイルとして書き込まれると、editplus は時間内に再ロードできますが、場合によっては C ドライブに配置する必要があります。editplus は時間内に再ロードできます) ログ = c:/mysql_query.log.txt #スロークエリログファイルの名前を入力します。入力しない場合は、デフォルト名が使用されます。 ログスロークエリ= #更新ログ ファイルの名前を入力します。入力しない場合は、デフォルト名が使用されます。 ログ更新= #バイナリ ログの名前を入力します。入力しない場合は、デフォルト名が使用されます。 ログビン=
以下もご興味があるかもしれません:- MySQL でスロークエリのログ記録を有効にする方法
- mysql のスロークエリを有効にする方法 mysql のスロークエリのログを有効にする方法
- MySQL ログファイルの詳細
- MySQL シリーズ 11 ログ
|