MySQL Server には、実行中のアクティビティーを検出するのに役立ついくつかのログがあります。
ログのタイプ | ログに書き込まれる情報 |
---|---|
エラーログ | mysqld の起動、実行、および停止で発生した問題 |
一般クエリーログ | 確立されたクライアント接続およびクライアントから受け取ったステートメント |
バイナリログ | データを変更するステートメント (レプリケーションにも使用される) |
リレーログ | レプリケーションマスターサーバーから受け取ったデータ変更 |
スロークエリーログ | 実行するのに long_query_time 秒よりも時間を要したクエリー |
DDL ログ (メタデータログ) | DDL ステートメントによって実行されたメタデータ操作 |
デフォルトでは、Windows 上のエラーログを除いてログは有効化されていません。(DDL ログは必要な場合に常に作成され、ユーザーが構成可能なオプションはありません。セクション5.2.6「DDL ログ」を参照してください。)このあとに続くログに固有のセクションでは、ロギングを有効にするためのサーバーオプションに関する情報を提供します。
デフォルトでは、サーバーは有効化されたすべてのログに対してデータディレクトリ内にファイルを書き込みます。ログをフラッシュすることによって、サーバーがログファイルを閉じて再オープンする (または新しいログファイルに切り替える) ことを強制的に実行できます。ログのフラッシュは、FLUSH LOGS
ステートメントを発行したり、mysqladmin に flush-logs
または refresh
引数を指定して実行したり、mysqldump に --flush-logs
または --master-data
オプションを指定して実行したりしたときに実行されます。セクション13.7.6.3「FLUSH 構文」、セクション4.5.2「mysqladmin — MySQL サーバーの管理を行うクライアント」、およびセクション4.5.4「mysqldump — データベースバックアッププログラム」を参照してください。さらに、バイナリログは、サイズが max_binlog_size
システム変数の値に達するとフラッシュされます。
一般クエリーログおよびスロークエリーログを実行時に制御することができます。ロギングを有効化または無効化したり、ログファイル名を変更したりできます。一般クエリーエントリおよびスロークエリーエントリを、ログテーブル、ログファイル、または両方に書き込むようにサーバーに指示することができます。詳細については、セクション5.2.1「一般クエリーログおよびスロークエリーログの出力先の選択」、セクション5.2.3「一般クエリーログ」、およびセクション5.2.5「スロークエリーログ」を参照してください。
リレーログはスレーブレプリケーションサーバー上でのみ使用され、スレーブ上でも実行する必要があるマスターサーバーからのデータ変更を保持します。リレーログの内容および構成については、セクション17.2.2.1「スレーブリレーログ」を参照してください。
古いログファイルの有効期限などのログの保守操作についての情報は、セクション5.2.7「サーバーログの保守」を参照してください。
ログのセキュリティー保護についての情報は、セクション6.1.2.3「パスワードおよびロギング」を参照してください。