擴展 MySQL 9.0  /  MySQL 外掛程式 API  /  外掛程式 API 組件

4.3 外掛程式 API 組件

伺服器外掛程式實作包含數個組件。

SQL 陳述式

  • INSTALL PLUGIN 會在 mysql.plugin 資料表中註冊外掛程式,並載入外掛程式碼。

  • UNINSTALL PLUGIN 會從 mysql.plugin 資料表取消註冊外掛程式,並卸載外掛程式碼。

  • 用於全文索引建立的 WITH PARSER 子句會將全文剖析器外掛程式與指定的 FULLTEXT 索引建立關聯。

  • SHOW PLUGINS 會顯示關於伺服器外掛程式的資訊。

命令列選項和系統變數

  • --plugin-load 選項可讓外掛程式在伺服器啟動時載入。

  • plugin_dir 系統變數會指示必須安裝所有外掛程式的目錄位置。此變數的值可以在伺服器啟動時使用 --plugin_dir=dir_name 選項指定。mysql_config --plugindir 會顯示預設外掛程式目錄路徑名稱。

如需關於外掛程式載入的更多資訊,請參閱安裝和卸載外掛程式

與外掛程式相關的資料表

  • INFORMATION_SCHEMA.PLUGINS 資料表包含外掛程式資訊。

  • mysql.plugin 資料表列出使用 INSTALL PLUGIN 安裝的每個外掛程式,且是外掛程式使用所必需的。對於新的 MySQL 安裝,此資料表會在安裝過程中建立。

用戶端外掛程式實作較為簡單

  • 對於 mysql_options() C API 函式,MYSQL_DEFAULT_AUTHMYSQL_PLUGIN_DIR 選項可讓用戶端程式載入驗證外掛程式。

  • 有一些 C API 函式可啟用用戶端外掛程式的管理。

若要檢查 MySQL 如何實作外掛程式,請參閱 MySQL 原始碼發行版本中的以下原始碼檔案

  • include/mysql 目錄中,plugin.h 公開了公開的外掛程式 API。任何想要撰寫外掛程式庫的人都應該檢查此檔案。plugin_xxx.h 檔案提供關於特定類型外掛程式的其他資訊。client_plugin.h 包含特定於用戶端外掛程式的資訊。

  • sql 目錄中,sql_plugin.hsql_plugin.cc 組成內部外掛程式實作。sql_acl.cc 是伺服器使用驗證外掛程式的地方。外掛程式開發人員不需要參閱這些檔案。對於想要深入了解伺服器如何處理外掛程式的人,這些檔案可能會很有用。

  • sql-common 目錄中,client_plugin.h 實作 C API 用戶端外掛程式函式,且 client.c 實作用戶端驗證支援。外掛程式開發人員不需要參閱這些檔案。對於想要深入了解伺服器如何處理外掛程式的人,這些檔案可能會很有用。