Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 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表中注册的函数将被安装。

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

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