MySQL Shell 8.0  /  ...  /  MySQL Shell プラグインの作成

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

7.3.1 MySQL Shell プラグインの作成

MySQL Shell プラグインを使用すると、MySQL Shell レポートとして登録される関数 (セクション7.1「MySQL Shell でのレポート」 を参照)、およびユーザー定義の MySQL Shell グローバルオブジェクトによって使用可能になる拡張オブジェクトのメンバーである関数 (セクション7.2「MySQL Shell への拡張オブジェクトの追加」 を参照) を含めることができます。 単一のプラグインに複数の関数を含めて登録し、レポートと拡張オブジェクトのメンバーを混在させることができます。 MySQL Shell プラグインによってレポートまたは拡張オブジェクトのメンバーとして登録された関数は、MySQL の起動が完了するとすぐに使用できます。

MySQL Shell プラグインは、言語 (init.js または init.py ファイル) に適した初期化スクリプトを含むフォルダです。 初期化スクリプトはプラグインのエントリポイントです。 プラグインには 1 つの言語のコードのみを含めることができるため、Python で定義されたメンバーと JavaScript で定義されたメンバーが混在する拡張オブジェクトを作成する場合は、メンバーを個別の言語に適したプラグインとして格納する必要があります。

MySQL Shell プラグインを起動時に自動的にロードするには、そのフォルダが MySQL Shell ユーザー構成パスの plugins フォルダの下にある必要があります。MySQL Shell は、この場所で初期化スクリプトを検索します。MySQL Shell では、名前がドット (.) で始まる plugins の場所にあるフォルダは無視されますが、それ以外の場合、プラグインフォルダに使用する名前は重要ではありません。

plugins フォルダのデフォルトパスは、Unix では ~/.mysqlsh/plugins で、Windows では %AppData%\MySQL\mysqlsh\plugins です。 ユーザー構成パスは、環境変数 MYSQLSH_USER_CONFIG_HOME を定義することで、すべてのプラットフォームでオーバーライドできます。 この変数の値は、Windows 上の %AppData%\MySQL\mysqlsh\または Unix 上の ~/.mysqlsh/に置き換わります。

プラグインのロード中にエラーが検出されると、警告が表示され、MySQL Shell アプリケーションログにエラーの詳細が表示されます。 ロードプロセスの詳細を表示するには、MySQL Shell の起動時に --log-level=debug オプションを使用します。

MySQL Shell プラグインがロードされると、次のオブジェクトをグローバル変数として使用できます:

  • 組込みグローバルオブジェクト shelldba および util

  • シェル API メインモジュール mysql

  • X DevAPI メインモジュール mysqlx

  • AdminAPI メインモジュール dba