このページは機械翻訳したものです。
このセクションでは、デフォルトのエラーログの宛先 (コンソールまたは名前付きファイル) を構成するサーバーオプションについて説明します。 また、デフォルトの宛先に基づいて独自の出力先を構成するログシンクコンポーネントも示します。
この説明では、「console」 は標準エラー出力である stderr を意味します。 標準エラー出力が別の出力先にリダイレクトされていないかぎり、これは端末またはコンソールウィンドウです。
サーバーは、Windows システムと Unix システムでデフォルトのエラーログの保存先を決定するオプションを多少解釈します。 ご使用のプラットフォームに適した情報を使用して宛先を構成してください。 サーバーは、デフォルトのエラーログ宛先オプションを解釈した後、デフォルトの宛先を示すように log_error システム変数を設定します。これは、複数のログシンクコンポーネントがエラーメッセージを書き込む場所に影響します。 次の各セクションでは、これらのトピックについて説明します。
Windows では、mysqld は --log-error、--pid-file および --console オプションを使用して、デフォルトのエラーログの保存先がコンソールかファイルか、およびファイルの場合はファイル名を決定します:
--consoleが指定されている場合、デフォルトの宛先はコンソールです。(--consoleは、両方が指定されている場合は--log-errorよりも優先され、--log-errorに関する次の項目は適用されません。)--log-errorが指定されていない場合、またはファイルに名前を付けずに指定されている場合、--pid-fileオプションが指定されていないかぎり、デフォルトの宛先はデータディレクトリ内のという名前のファイルになります。 その場合、ファイル名は PID ファイルベース名に接尾辞host_name.err.errを付けたものになります。ファイルに名前を付けるために
--log-errorが指定されている場合、デフォルトの宛先はそのファイルです (名前に接尾辞がない場合は、.err接尾辞が追加されます)。 別の場所を指定する絶対パス名が指定されていないかぎり、ファイルの場所はデータディレクトリの下にあります。
デフォルトのエラーログの保存先がコンソールの場合、サーバーは log_error システム変数を stderr に設定します。 それ以外の場合、デフォルトの宛先はファイルで、サーバーは log_error をファイル名に設定します。
Unix および Unix に似たシステムでは、mysqld は --log-error オプションを使用して、デフォルトのエラーログの保存先がコンソールかファイルか、およびファイルの場合はファイル名を決定します:
--log-errorが指定されていない場合、デフォルトの宛先はコンソールです。ファイルに名前を付けずに
--log-errorを指定した場合、デフォルトの宛先はデータディレクトリ内のという名前のファイルになります。host_name.errファイルに名前を付けるために
--log-errorが指定されている場合、デフォルトの宛先はそのファイルです (名前に接尾辞がない場合は、.err接尾辞が追加されます)。 別の場所を指定する絶対パス名が指定されていないかぎり、ファイルの場所はデータディレクトリの下にあります。[mysqld]、[server]または[mysqld_safe]セクションのオプションファイルに--log-errorが指定されている場合、mysqld_safe を使用してサーバーを起動するシステムでは、mysqld_safe はそのオプションを検索して使用し、mysqld に渡します。
Yum または APT パッケージのインストールでは、サーバー構成ファイルで log-error=/var/log/mysqld.log などのオプションを使用して、/var/log の下にエラーログファイルの場所を構成するのが一般的です。 オプションからパス名を削除すると、データディレクトリ内の ファイルが使用されます。
host_name.err
デフォルトのエラーログの保存先がコンソールの場合、サーバーは log_error システム変数を stderr に設定します。 それ以外の場合、デフォルトの宛先はファイルで、サーバーは log_error をファイル名に設定します。
サーバーは、エラーログの宛先の構成オプションを解釈した後、デフォルトのエラーログの宛先を示すように log_error システム変数を設定します。 ログシンクコンポーネントは、log_error 値に基づいて独自の出力先を決定するか、log_error とは無関係に宛先を決定できます
log_error が stderr の場合、デフォルトのエラーログの保存先はコンソールであり、出力先をデフォルトの保存先にするログシンクもコンソールに書き込みます:
log_sink_internal,log_sink_json,log_sink_test: これらのシンクはコンソールに書き込みます。 これは、複数回有効にできるlog_sink_jsonなどのシンクにも当てはまります。すべてのインスタンスがコンソールに書き込みます。log_sink_syseventlog: このシンクは、log_errorの値に関係なく、システムログに書き込みます。
log_error が stderr でない場合、デフォルトのエラーログの保存先はファイルで、log_error はファイル名を示します。 出力先のベースとなるログシンクは、そのファイル名に基づいてデフォルトの宛先ベース出力ファイルのネーミングを行います。 (シンクは正確にその名前を使用することも、そのようなバリアントを使用することもできます。) log_error 値が file_name であるとします。 次に、ログシンクは次のような名前を使用します:
log_sink_internal,log_sink_test: これらのシンクはfile_nameに書き込みます。log_sink_json:log_error_services値で指定されたこのシンクの後続インスタンスは、file_nameという名前のファイルと番号付き.接尾辞に書き込まれます:NN.json、file_name.00.jsonなど。file_name.01.jsonlog_sink_syseventlog: このシンクは、log_errorの値に関係なく、システムログに書き込みます。