文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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 表格中註冊的函數。

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

  • 自動函數安裝會將函數新增至 Performance Schema user_defined_functions 表格,該表格提供關於已安裝函數的執行階段資訊。

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

解除安裝可載入函數

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

DROP FUNCTION metaphon;

DROP FUNCTION 具有以下效果

  • 它會解除載入函數,使其無法使用。

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

  • 它會從效能綱要(Performance Schema)的 user_defined_functions 表格中移除該函數,該表格提供關於已安裝可載入函數的執行時資訊。

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

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

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