文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.7.4.4 INSTALL PLUGIN 陳述式

INSTALL PLUGIN plugin_name SONAME 'shared_library_name'

此陳述式會安裝伺服器外掛程式。它需要 INSERT 權限,才能對 mysql.plugin 系統資料表執行操作,因為它會在該資料表中加入一列來註冊外掛程式。

plugin_name 是外掛程式的名稱,如同外掛程式描述結構中定義的名稱(請參閱外掛程式資料結構)。外掛程式名稱不區分大小寫。為了達到最大的相容性,外掛程式名稱應限制為 ASCII 字母、數字和底線,因為它們用於 C 原始碼檔案、殼層命令列、M4 和 Bourne 殼層指令碼以及 SQL 環境。

shared_library_name 是包含外掛程式碼的共用程式庫名稱。名稱包括副檔名(例如,libmyplugin.solibmyplugin.dlllibmyplugin.dylib)。

共用程式庫必須位於外掛程式目錄中(由 plugin_dir 系統變數指定的目錄)。程式庫必須位於外掛程式目錄本身,而不是子目錄中。預設情況下,plugin_dir 是由 pkglibdir 組態變數指定的目錄下的 plugin 目錄,但可以在伺服器啟動時設定 plugin_dir 的值來變更它。例如,在 my.cnf 檔案中設定其值

[mysqld]
plugin_dir=/path/to/plugin/directory

如果 plugin_dir 的值是相對路徑名稱,則會將其視為相對於 MySQL 基本目錄(basedir 系統變數的值)。

INSTALL PLUGIN 會載入並初始化外掛程式碼,使外掛程式可供使用。外掛程式會透過執行其初始化函數進行初始化,該函數會處理外掛程式在使用之前必須執行的任何設定。當伺服器關閉時,它會為每個載入的外掛程式執行解除初始化函數,以便外掛程式有機會執行任何最終清除。

INSTALL PLUGIN 也會透過在 mysql.plugin 系統資料表中加入一行,指出外掛程式名稱和程式庫檔案名稱來註冊外掛程式。在正常的啟動序列期間,伺服器會載入並初始化在 mysql.plugin 中註冊的外掛程式。這表示外掛程式只會使用 INSTALL PLUGIN 安裝一次,而不是每次伺服器啟動時都安裝。如果伺服器是以 --skip-grant-tables 選項啟動,則不會載入在 mysql.plugin 資料表中註冊的外掛程式,並且外掛程式無法使用。

一個外掛程式程式庫可以包含多個外掛程式。若要安裝其中的每個外掛程式,請使用個別的 INSTALL PLUGIN 陳述式。每個陳述式都會命名不同的外掛程式,但它們全都指定相同的程式庫名稱。

INSTALL PLUGIN 會導致伺服器讀取選項 (my.cnf) 檔案,就像在伺服器啟動期間一樣。這使得外掛程式能夠從這些檔案中擷取任何相關的選項。即使在載入外掛程式之前(如果使用 loose 前置詞),也可以將外掛程式選項加入至選項檔案中。也可以解除安裝外掛程式、編輯 my.cnf,然後重新安裝外掛程式。以這種方式重新啟動外掛程式可使其使用新的選項值,而無需重新啟動伺服器。

如需控制在伺服器啟動時載入個別外掛程式的選項,請參閱第 7.6.1 節,「安裝和解除安裝外掛程式」。如果您需要在給定 --skip-grant-tables 選項(該選項會告知伺服器不要讀取系統資料表)時,為單一伺服器啟動載入外掛程式,請使用 --plugin-load 選項。請參閱第 7.1.7 節,「伺服器命令選項」

若要移除外掛程式,請使用 UNINSTALL PLUGIN 陳述式。

如需外掛程式載入的其他資訊,請參閱第 7.6.1 節,「安裝和解除安裝外掛程式」

若要查看已安裝哪些外掛程式,請使用 SHOW PLUGINS 陳述式或查詢 INFORMATION_SCHEMAPLUGINS 資料表。

如果您重新編譯外掛程式程式庫,並且需要重新安裝,則可以使用下列其中一種方法

  • 使用 UNINSTALL PLUGIN 解除安裝程式庫中的所有外掛程式,在外掛程式目錄中安裝新的外掛程式程式庫檔案,然後使用 INSTALL PLUGIN 安裝程式庫中的所有外掛程式。此程序的優點是可以不用停止伺服器就可使用。但是,如果外掛程式程式庫包含許多外掛程式,則必須發出許多 INSTALL PLUGINUNINSTALL PLUGIN 陳述式。

  • 停止伺服器,在外掛程式目錄中安裝新的外掛程式程式庫檔案,然後重新啟動伺服器。