Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Installing and Uninstalling Loadable Functions

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表中的函数被安装。

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

  • 自动函数安装将函数添加到性能chema中的user_defined_functions表中,该表提供了关于安装的函数的实时信息。

如果服务器使用--skip-grant-tables选项启动,注册在mysql.func表中的函数将不可用。这不适用于由组件或插件自动安装的函数。

要删除可加载函数,请使用DROP FUNCTION语句。例如:

DROP FUNCTION metaphon;

DROP FUNCTION具有以下效果:

  • 它卸载函数以使其不可用。

  • 它从mysql.func系统表中删除函数。因此,DROP FUNCTION需要DELETE权限以访问mysql系统数据库。函数不再注册在mysql.func表中,服务器在随后的重启时不会加载该函数。

  • 它从性能chema的user_defined_functions表中删除函数,该表提供了关于安装的可加载函数的运行时信息。

DROP 函数不能用来删除由组件或插件自动安装的可加载函数,而不是使用CREATE 函数。这种函数也将在卸载安装它的组件或插件时自动删除。

要重新安装或升级与可加载函数相关的共享库,使用DROP 函语句,升级共享库,然后使用CREATE 函数语句。如果您首先升级共享库,然后使用DROP 函,服务器可能会意外关闭。