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


MySQL 9.0 參考手冊  /  ...  /  安裝和解除安裝可載入函數

7.7.1 安裝和解除安裝可載入函數

顧名思義,可載入函數必須先載入伺服器才能使用。MySQL 支援在伺服器啟動期間自動載入,之後則可手動載入。

當可載入函數載入時,有關它的資訊可如第 7.7.2 節,〈取得有關可載入函數的資訊〉所述取得。

安裝可載入函數

若要手動載入可載入函數,請使用CREATE FUNCTION陳述式。例如:

CREATE FUNCTION metaphon
  RETURNS STRING
  SONAME 'udf_example.so';

檔案基本名稱取決於您的平台。常見的後綴名在 Unix 和類 Unix 系統中是 .so,在 Windows 中則是 .dll

CREATE FUNCTION有這些影響:

可載入函數會在正常伺服器啟動序列期間自動載入:

  • 會在 mysql.func 表格中註冊的函數。已安裝。

  • 在啟動時安裝的元件或外掛程式可能會自動安裝相關函數。

  • 自動函數安裝會將函數新增至效能架構 user_defined_functions 表格,提供已安裝函數的執行階段資訊。

如果使用 --skip-grant-tables 選項啟動伺服器,則不會載入 mysql.func 表格中註冊的函數,且無法使用。這不適用於由元件或外掛程式自動安裝的函數。

解除安裝可載入函數

若要移除可載入函數,請使用 DROP FUNCTION 陳述式。例如:

DROP FUNCTION metaphon;

DROP FUNCTION 有這些影響:

  • 它會卸載函數,使其無法使用。

  • 它會從 mysql.func 系統表格中移除函數。基於這個原因,DROP FUNCTION 需要 mysql 系統資料庫的 DELETE 權限。由於函數不再註冊於 mysql.func 表格中,因此伺服器在後續重新啟動期間不會載入函數。

  • 它會從效能架構 user_defined_functions 表格中移除函數,該表格提供已安裝可載入函數的執行階段資訊。

DROP FUNCTION 無法用於刪除由元件或外掛程式自動安裝,而非使用 CREATE FUNCTION 安裝的可載入函數。此類函數也會在安裝它的元件或外掛程式解除安裝時自動刪除。

重新安裝或升級可載入函數

要重新安裝或升級與可載入函數相關聯的共享程式庫,請發出 DROP FUNCTION 陳述式,升級共享程式庫,然後發出 CREATE FUNCTION 陳述式。如果您先升級共享程式庫,然後使用 DROP FUNCTION,伺服器可能會意外關閉。