這些條件適用於外掛程式撰寫
外掛程式使用的 MySQL 標頭檔包含 C++ 程式碼,因此外掛程式必須編譯為 C++ 程式碼。
您必須使用整個伺服器原始碼來編譯外掛程式,而不僅僅是函式庫和標頭檔。
編譯的外掛程式不相容於不同的伺服器版本。針對 MySQL 8.4.
X
編譯的外掛程式,無法保證它可以在 MySQL 8.4.Y
伺服器上運作,除非重新針對 MySQL 8.4.Y
進行編譯。外掛程式是動態載入和卸載的,因此您的作業系統必須支援動態載入,而且您必須動態 (而非靜態) 編譯呼叫應用程式。對於伺服器外掛程式,這表示 mysqld 必須動態連結。
以下程序概述了建立外掛程式函式庫所需的步驟。接下來的章節將提供有關設定外掛程式資料結構和撰寫特定類型外掛程式的更多詳細資訊。
-
在外掛程式原始碼檔案中,包含外掛程式函式庫所需的標頭檔。
plugin.h
檔案是必要的,而且函式庫可能還需要其他檔案。例如#include <stdlib.h> #include <ctype.h> #include <mysql/plugin.h>
-
設定外掛程式函式庫檔案的描述符資訊。對於伺服器外掛程式,請撰寫函式庫描述符,其中必須包含檔案中每個伺服器外掛程式的一般外掛程式描述符。如需更多資訊,請參閱第 4.4.2.1 節, 「伺服器外掛程式函式庫和外掛程式描述符」。此外,請為函式庫中的每個伺服器外掛程式設定特定類型的描述符。每個外掛程式的一般描述符都會指向其特定類型的描述符。
對於用戶端外掛程式,請撰寫用戶端描述符。如需更多資訊,請參閱第 4.4.2.3 節,「用戶端外掛程式描述符」。
為每個外掛程式撰寫外掛程式介面函數。例如,每個外掛程式的一般外掛程式描述符都會指向伺服器在載入和卸載外掛程式時應調用的初始化和取消初始化函數。外掛程式的特定類型描述也可能指向介面函數。
對於伺服器外掛程式,請設定狀態和系統變數 (如果有的話)。
將外掛程式函式庫編譯為共用函式庫,並將其安裝在外掛程式目錄中。如需更多資訊,請參閱第 4.4.3 節,「編譯和安裝外掛程式函式庫」。
對於伺服器外掛程式,請向伺服器註冊外掛程式。如需更多資訊,請參閱安裝和解除安裝外掛程式。
測試外掛程式以驗證其是否正常運作。