MySQL Shell 8.4  /  ...  /  建立 MySQL Shell 外掛程式

10.3.1 建立 MySQL Shell 外掛程式

MySQL Shell 外掛程式可用於包含註冊為 MySQL Shell 報表(請參閱第 10.1 節「使用 MySQL Shell 進行報表」)的函式,以及作為使用者定義的 MySQL Shell 全域物件提供的擴充物件成員的函式(請參閱第 10.2 節「將擴充物件加入 MySQL Shell」)。單一外掛程式可以包含和註冊多個函式,並且可以包含報表和擴充物件成員的組合。在 MySQL 完成啟動時,由 MySQL Shell 外掛程式註冊為報表或擴充物件成員的函式會立即可用。

MySQL Shell 外掛程式是一個資料夾,其中包含適用於該語言的初始化腳本(init.jsinit.py 檔案)。初始化腳本是外掛程式的進入點。外掛程式只能包含一種語言的程式碼,因此如果您要建立一個混合使用 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 外掛程式時,下列物件可用作全域變數

  • 內建全域物件 shelldbautil

  • Shell API 主要模組 mysql

  • X DevAPI 主要模組 mysqlx

  • AdminAPI 主要模組 dba