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


MySQL 8.0 リファレンスマニュアル  /  ...  /  システムログへのエラーロギング

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

5.4.2.8 システムログへのエラーロギング

mysqld では、エラーログをシステムログ (Windows の場合はイベントログ、Unix および Unix に似たシステムの場合は syslog) に書き込むことができます。

このセクションでは、組込みフィルタ、log_filter_internal およびシステムログシンク、log_sink_syseventlog を使用してエラーロギングを構成し、即時に有効にする方法と、その後のサーバー起動について説明します。 エラーロギングの構成に関する一般情報は、セクション5.4.2.1「エラーログ構成」 を参照してください。

システムログシンクを有効にするには、まずシンクコンポーネントをロードしてから、log_error_services 値を変更します:

INSTALL COMPONENT 'file://component_log_sink_syseventlog';
SET PERSIST log_error_services = 'log_filter_internal; log_sink_syseventlog';

log_error_services がサーバーの起動時に有効になるように設定するには、セクション5.4.2.1「エラーログ構成」 の手順を使用します。 これらの手順は、ほかのエラーロギングシステム変数にも適用されます。

注記

MySQL 8.0 構成では、システムログへのエラーロギングを明示的に有効にする必要があります。 これは、システムログへのエラーロギングが Windows でデフォルトで有効になっており、すべてのプラットフォームでコンポーネントのロードを必要としない MySQL 5.7 以前とは異なります。

システムログへのエラーロギングには、追加のシステム構成が必要な場合があります。 使用しているプラットフォームのシステムログドキュメントを参照してください。

Windows では、アプリケーションログ内のイベントログに書き込まれるエラーメッセージには次の特性があります:

  • ErrorWarning および Note としてマークされたエントリはイベントログに書き込まれますが、個々のストレージエンジンからの情報ステートメントなどのメッセージには書き込まれません。

  • イベントログエントリのソースは、MySQL (syseventlog.tagtag として定義されている場合は MySQL-tag) です。

Unix および Unix に似たシステムでは、システムログへのロギングに syslog が使用されます。 次のシステム変数は、syslog メッセージに影響します:

  • syseventlog.facility: syslog メッセージのデフォルト機能は daemon です。 別のファシリティを指定するには、この変数を設定します。

  • syseventlog.include_pid: syslog 出力の各行にサーバープロセス ID を含めるかどうか。

  • syseventlog.tag: この変数は、syslog メッセージのサーバー識別子 (mysqld) に追加するタグを定義します。 定義すると、先頭にハイフンが付いたタグが識別子に追加されます。

注記

MySQL 8.0.13 より前は、syseventlog.xxx 変数ではなく log_syslog_facilitylog_syslog_include_pid および log_syslog_tag システム変数を使用してください。

MySQL では、起動、停止、設定に対する重要な変更など、エラー以外の状況に関する重要なシステムメッセージにカスタムラベル System が使用されます。 カスタムラベルをサポートしていないログ (Windows の場合はイベントログ、Unix および Unix に似たシステムの場合は syslog) では、情報の優先度レベルに使用されるラベルがシステムメッセージに割り当てられます。 ただし、これらのメッセージは、MySQL log_error_verbosity 設定で通常は情報レベルのメッセージが除外されている場合でもログに出力されます。

ログシンクがこの方法で System ではなく「情報」のラベルにフォールバックする必要があり、ログイベントが MySQL サーバーの外部でさらに処理される場合 (たとえば、syslog 構成によってフィルタ処理または転送される場合)、これらのイベントは、セカンダリアプリケーションによって、System 優先度ではなく「情報」優先度としてデフォルトで処理されることがあります。