このページは機械翻訳したものです。
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 では、アプリケーションログ内のイベントログに書き込まれるエラーメッセージには次の特性があります:
Error
、Warning
およびNote
としてマークされたエントリはイベントログに書き込まれますが、個々のストレージエンジンからの情報ステートメントなどのメッセージには書き込まれません。イベントログエントリのソースは、
MySQL
(syseventlog.tag
がtag
として定義されている場合は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_facility
、log_syslog_include_pid
および log_syslog_tag
システム変数を使用してください。
MySQL では、起動、停止、設定に対する重要な変更など、エラー以外の状況に関する重要なシステムメッセージにカスタムラベル 「System」 が使用されます。 カスタムラベルをサポートしていないログ (Windows の場合はイベントログ、Unix および Unix に似たシステムの場合は syslog
) では、情報の優先度レベルに使用されるラベルがシステムメッセージに割り当てられます。 ただし、これらのメッセージは、MySQL log_error_verbosity
設定で通常は情報レベルのメッセージが除外されている場合でもログに出力されます。
ログシンクがこの方法で 「System」 ではなく「「情報」」のラベルにフォールバックする必要があり、ログイベントが MySQL サーバーの外部でさらに処理される場合 (たとえば、syslog
構成によってフィルタ処理または転送される場合)、これらのイベントは、セカンダリアプリケーションによって、「System」 優先度ではなく「「情報」」優先度としてデフォルトで処理されることがあります。