文档首页
MySQL 8.4 参考手册
相关文档 下载此手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (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 表中注册的函数将被安装。

  • 在启动时安装的组件或插件可能会自动安装相关的函数。

  • 自动函数安装会将函数添加到性能模式 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,服务器可能会意外关闭。