文档首页
MySQL 9.0 参考手册
相关文档 下载此手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  安装和卸载可加载函数

7.7.1 安装和卸载可加载函数

可加载函数顾名思义,必须先加载到服务器中才能使用。MySQL 支持在服务器启动期间自动加载函数,并在之后手动加载。

当可加载函数被加载时,有关它的信息将可用,如第 7.7.2 节 “获取有关可加载函数的信息”中所述。

安装可加载函数

要手动加载可加载函数,请使用CREATE FUNCTION语句。例如

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

文件基本名称取决于您的平台。常见的扩展名是 .so 用于 Unix 和类 Unix 系统,.dll 用于 Windows。

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,服务器可能会意外关闭。