文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
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 原始程式檔案、Shell 命令列、M4 和 Bourne Shell 腳本以及 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 陳述式。

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