エラーログにはmysqldが開始および停止された時期を示す情報と,サーバーが実行中に発生したあらゆるクリティカルエラーが格納されます。自動的にチェックまたは修復することが必要なテーブルがmysqldで検出された場合,エラーログに警告メッセージが書き込まれます。
オペレーティングシステムによっては,mysqldが異常終了した場合にエラーログにスタックトレースが記録されます。トレースを使用して,mysqldが異常終了したかどうかを判断することができます。セクション24.4”MySQLのデバッグおよび移植”を参照してください。
mysqld_safeを使用してmysqldが開始され,mysqldが予期せず異常終了した場合,mysqld_safeはこれを検出し,mysqldを再起動し,重启mysqld
メッセージをエラーログに書き込みます。
次の説明で,「コンソール」は標準エラー出力stderr
を意味し,標準エラー出力がリダイレクトされていないかぎり,これはユーザーのターミナルウィンドウまたはコンソールウィンドウです。(たとえば,——syslog
オプションを指定して起動した場合,あとで説明するように,mysqld_safeではサーバーのstderr
がsyslog
に送信されるような調整が行われます)。
Windowsで,——日志错误
および——控制台
オプションは,両方ともエラーロギングに影響します。
——日志错误
を指定しない場合,mysqldはデータディレクトリ内の
にエラーメッセージを書き込みます。host_name
.err——日志错误[=
を指定した場合,mysqldはエラーログファイルにエラーメッセージを書き込みます。指定されたファイルが存在する場合,サーバーはそのファイルを使用し,別のディレクトリを指定する絶対パス名が指定されている場合を除き,そのファイルをデータディレクトリ内に作成します。ファイルが指定されない場合,デフォルト名は,データディレクトリ内のfile_name
]
です。host_name
.err——控制台
を指定した場合,mysqldは,——日志错误
がさらに指定される場合を除き,エラーメッセージをコンソールに書き込みます。両方のオプションが存在する場合,——控制台
は無視されて効果がなくなります。それらの順序は関係なく,——日志错误
が優先されて,エラーメッセージがログファイルに記録されます。
さらにWindowsでは,サーバーはイベントおよびエラーメッセージをアプリケーションログ内のWindowsイベントログに書き込みます。警告
および请注意
のマークが付いたエントリは,イベントログに書き込まれますが,個々のストレージエンジンからの情報ステートメントなどの情報メッセージは書き込まれません。これらのログエントリのソースはMySQL
です。Windowsイベントログへの情報の書き込みを無効にすることはできません。
UnixおよびUnixに類似したシステムでは,mysqldはエラーログメッセージを次のように書き込みます。
——日志错误
を指定しない場合,mysqldはエラーメッセージをコンソールに書き込みます。——日志错误[=
を指定した場合,mysqldはエラーログファイルにエラーメッセージを書き込みます。指定されたファイルが存在する場合,サーバーはそのファイルを使用し,別のディレクトリを指定する絶対パス名が指定されている場合を除き,そのファイルをデータディレクトリ内に作成します。ファイルが指定されない場合,デフォルト名は,データディレクトリ内のfile_name
]
です。host_name
.err注記百胜またはAPTパッケージインストールでは,サーバー構成ファイル内の
日志错误= / var / log / mysqld.log
のようなエントリによって,エラーログの場所を/var/log
の下に構成することが一般的です。エントリからファイル名を削除すると,エラーログの場所がそのデフォルト設定であるデータディレクトリに戻されます。
エラー出力がファイルに書き込まれる場合,実行時に,log_error
システム変数がエラーログファイル名を示します。
オプションファイル内の(mysqld)
、(服务器)
,または(mysqld_safe)
セクションに——日志错误
を指定した場合,mysqld_safeはオプションを検出して使用します。
刷新日志
またはmysqladmin flush-logsを使用してログをフラッシュし,mysqldがエラーログをファイルに書き込む場合(たとえば,——日志错误
オプションを使用して開始された場合),サーバーはログファイルを閉じて再オープンします。ファイルを名前変更するには,フラッシュする前にこれを手動で実行します。そのあとでログをフラッシュすると,新しいファイルが元のファイル名で再オープンします。たとえば,次のコマンドを使用して,ファイルを名前変更し,新しいファイルを作成することができます。
壳> mvhost_name.errhost_name.err-old shell> mysqladmin flush-logs shell> mv . loghost_name.err-old备份目录
Windowsでは,mvの代わりに重命名を使用してください。
サーバーが指定されたファイルに書き込まない場合,ログがフラッシュされたときにエラーログの名前変更は実行されません。
mysqld_safeを使用してmysqldを開始した場合,mysqld_safeではmysqldがエラーメッセージをログファイルまたはsyslog
に書き込むような調整が行われます。mysqld_safeには——syslog
、——skip-syslog
,および——日志错误
の3つのエラーロギングオプションがあります。ロギングオプションを指定しないか——skip-syslog
を指定した場合のデフォルトは,デフォルトログファイルを使用することです。エラーログファイルの使用を明示的に指定する場合,——日志错误=
をmysqld_safeに指定すると,mysqld_safeではmysqldがメッセージをログファイルに書き込むような調整が行われます。file_name
syslog
を代わりに使用するには,——syslog
オプションを指定します。
——log-warnings
オプションまたはlog_warnings
システム変数を使用すると,エラーログへの警告ロギングを制御できます。デフォルト値は有効化(1)です。値0を使用して警告ロギングを無効にすることができます。値が1より大きい場合,中止された接続がエラーログに書き込まれ,新しい接続の試行についてのアクセス拒否エラーが書き込まれます。セクションB.5.2.11“通信エラーおよび中止された接続”を参照してください。