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

4.3 外掛程式 API 組件

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

SQL 陳述式

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

  • UNINSTALL PLUGINmysql.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 則實作用戶端驗證支援。外掛程式開發人員不需要查閱這些檔案。對於那些想要進一步了解伺服器如何處理外掛程式的人,這些檔案可能會很有趣。