伺服器外掛程式實作包含數個組件。
SQL 陳述式
INSTALL PLUGIN會在mysql.plugin資料表中註冊外掛程式,並載入外掛程式碼。UNINSTALL PLUGIN會從mysql.plugin資料表取消註冊外掛程式,並卸載外掛程式碼。用於全文索引建立的
WITH PARSER子句會將全文剖析器外掛程式與指定的FULLTEXT索引建立關聯。SHOW PLUGINS會顯示關於伺服器外掛程式的資訊。
命令列選項和系統變數
--plugin-load選項可讓外掛程式在伺服器啟動時載入。plugin_dir系統變數會指示必須安裝所有外掛程式的目錄位置。此變數的值可以在伺服器啟動時使用--plugin_dir=選項指定。mysql_config --plugindir 會顯示預設外掛程式目錄路徑名稱。dir_name
如需關於外掛程式載入的更多資訊,請參閱安裝和卸載外掛程式。
與外掛程式相關的資料表
INFORMATION_SCHEMA.PLUGINS資料表包含外掛程式資訊。mysql.plugin資料表列出使用INSTALL PLUGIN安裝的每個外掛程式,且是外掛程式使用所必需的。對於新的 MySQL 安裝,此資料表會在安裝過程中建立。
用戶端外掛程式實作較為簡單
對於
mysql_options()C API 函式,MYSQL_DEFAULT_AUTH和MYSQL_PLUGIN_DIR選項可讓用戶端程式載入驗證外掛程式。有一些 C API 函式可啟用用戶端外掛程式的管理。
若要檢查 MySQL 如何實作外掛程式,請參閱 MySQL 原始碼發行版本中的以下原始碼檔案
在
include/mysql目錄中,plugin.h公開了公開的外掛程式 API。任何想要撰寫外掛程式庫的人都應該檢查此檔案。plugin_檔案提供關於特定類型外掛程式的其他資訊。xxx.hclient_plugin.h包含特定於用戶端外掛程式的資訊。在
sql目錄中,sql_plugin.h和sql_plugin.cc組成內部外掛程式實作。sql_acl.cc是伺服器使用驗證外掛程式的地方。外掛程式開發人員不需要參閱這些檔案。對於想要深入了解伺服器如何處理外掛程式的人,這些檔案可能會很有用。在
sql-common目錄中,client_plugin.h實作 C API 用戶端外掛程式函式,且client.c實作用戶端驗證支援。外掛程式開發人員不需要參閱這些檔案。對於想要深入了解伺服器如何處理外掛程式的人,這些檔案可能會很有用。