MySQL Shell 8.0  /  MySQL Shell のロギングおよびデバッグ  /  AdminAPI 操作のロギング

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

9.3 AdminAPI 操作のロギング

MySQL Shell 8.0.18 から、AdminAPI 操作の過程で実行される SQL ステートメントを MySQL Shell ロギング情報の一部として含めることができます。 デフォルトでは、MySQL Shell はこれらのステートメントをログに記録せず、操作中に返されたメッセージのみをログに記録します。 これらのステートメントのロギングをアクティブ化すると、エラーの問題診断に役立つ SQL 実行の観点から操作の進行状況を確認できます。

AdminAPI 操作から SQL ステートメントのロギングをアクティブ化すると、ロギングレベルが 5 ( MySQL Shell ロギングレベルのデフォルト) 以上に設定されている場合、ステートメントは情報メッセージとして MySQL Shell アプリケーションログファイルに書き込まれます。 ロギングレベルで追加の表示可能な場所が指定された場合、そこにもステートメントが送信されます。 verbose オプションが 1 以上に設定されている場合は、ステートメントも冗長出力としてコンソールに送信されます。 SQL ステートメントに含まれるパスワードは、ロギングおよび表示のためにマスクされ、記録または表示されません。

AdminAPI サンドボックス操作 (dba.deploySandboxInstance(), dba.startSandboxInstance(), dba.stopSandboxInstance(), dba.killSandboxInstance() および dba.deleteSandboxInstance()) によって実行される SQL ステートメントは、通常の AdminAPI 操作のロギングをアクティブ化した場合でも、常にロギングおよび冗長出力から除外されます。

AdminAPI 操作によって実行された SQL ステートメントをログに記録するには、次のいずれかのオプションを選択します:

  • MySQL Shell の起動時に --dba-log-sql コマンドラインオプションを使用します。

  • MySQL Shell \option コマンドを使用して、dba.logSql MySQL Shell 構成オプションを設定します。 このコマンドの使用手順については、セクション10.4「MySQL Shell オプションの構成」 を参照してください。

  • shell.options オブジェクトを使用して、dba.logSql MySQL Shell 構成オプションを設定します。 この構成インタフェースの使用手順については、セクション10.4「MySQL Shell オプションの構成」 を参照してください。

このオプションで使用可能な設定は次のとおりです:

0

AdminAPI 操作によって実行された SQL ステートメントをログに記録しません。 この設定は、オプションがコマンドラインまたは構成ファイルで設定されていない場合のデフォルトの動作であり、一時的に必要な場合にのみ、使用後にこのタイプのロギングを非アクティブ化するように設定できます。

1

SELECT ステートメント、SHOW ステートメントおよびサンドボックス操作によって実行されるステートメントを除き、AdminAPI 操作によって実行される SQL ステートメントをログに記録します。

2

通常の AdminAPI 操作によって実行される SQL ステートメントを、SELECT および SHOW ステートメントを含めて完全に記録しますが、サンドボックス操作によって実行されるステートメントは記録しません。

MySQL Shell (--dba-log-sql) の起動時にコマンド行オプションで許可される値なしでオプションを指定したが、オプションを設定する他の方法では許可されない場合は、設定 1 が使用されます。