Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  デフォルトのエラーログ保存先の構成

このページは機械翻訳したものです。

5.4.2.2 デフォルトのエラーログ保存先の構成

このセクションでは、デフォルトのエラーログの宛先 (コンソールまたは名前付きファイル) を構成するサーバーオプションについて説明します。 また、デフォルトの宛先に基づいて独自の出力先を構成するログシンクコンポーネントも示します。

この説明では、console は標準エラー出力である stderr を意味します。 標準エラー出力が別の出力先にリダイレクトされていないかぎり、これは端末またはコンソールウィンドウです。

サーバーは、Windows システムと Unix システムでデフォルトのエラーログの保存先を決定するオプションを多少解釈します。 ご使用のプラットフォームに適した情報を使用して宛先を構成してください。 サーバーは、デフォルトのエラーログ宛先オプションを解釈した後、デフォルトの宛先を示すように log_error システム変数を設定します。これは、複数のログシンクコンポーネントがエラーメッセージを書き込む場所に影響します。 次の各セクションでは、これらのトピックについて説明します。

Windows のデフォルトのエラーログの保存先

Windows では、mysqld--log-error--pid-file および --console オプションを使用して、デフォルトのエラーログの保存先がコンソールかファイルか、およびファイルの場合はファイル名を決定します:

  • --console が指定されている場合、デフォルトの宛先はコンソールです。(--console は、両方が指定されている場合は --log-error よりも優先され、--log-error に関する次の項目は適用されません。)

  • --log-error が指定されていない場合、またはファイルに名前を付けずに指定されている場合、--pid-file オプションが指定されていないかぎり、デフォルトの宛先はデータディレクトリ内の host_name.err という名前のファイルになります。 その場合、ファイル名は PID ファイルベース名に接尾辞 .err を付けたものになります。

  • ファイルに名前を付けるために --log-error が指定されている場合、デフォルトの宛先はそのファイルです (名前に接尾辞がない場合は、.err 接尾辞が追加されます)。 別の場所を指定する絶対パス名が指定されていないかぎり、ファイルの場所はデータディレクトリの下にあります。

デフォルトのエラーログの保存先がコンソールの場合、サーバーは log_error システム変数を stderr に設定します。 それ以外の場合、デフォルトの宛先はファイルで、サーバーは log_error をファイル名に設定します。

Unix および Unix-Like システムでのデフォルトのエラーログの保存先

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_errorstderr の場合、デフォルトのエラーログの保存先はコンソールであり、出力先をデフォルトの保存先にするログシンクもコンソールに書き込みます:

  • log_sink_internal, log_sink_json, log_sink_test: これらのシンクはコンソールに書き込みます。 これは、複数回有効にできる log_sink_json などのシンクにも当てはまります。すべてのインスタンスがコンソールに書き込みます。

  • log_sink_syseventlog: このシンクは、log_error の値に関係なく、システムログに書き込みます。

log_errorstderr でない場合、デフォルトのエラーログの保存先はファイルで、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.json など。

  • log_sink_syseventlog: このシンクは、log_error の値に関係なく、システムログに書き込みます。