5.6.1 安装和卸载可加载函数

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

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

安装可加载函数

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

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

文件基本名称取决于您的平台。通用后缀 .so用于 Unix 和类 Unix 系统, .dll用于 Windows。

CREATE FUNCTION具有以下效果:

  • 它将函数加载到服务器中以使其立即可用。

  • 它在系统表中注册该函数, mysql.func以使其在服务器重启后保持不变。为此, CREATE FUNCTION需要 系统数据库 的INSERT权限 。mysql

可加载函数的自动加载发生在正常的服务器启动序列期间。服务器加载mysql.func表中注册的函数。如果服务器以该 --skip-grant-tables选项启动,则表中注册的功能不会加载且不可用。

卸载可加载函数

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

DROP FUNCTION metaphon;

DROP FUNCTION具有以下效果:

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

  • 它从 mysql.func系统表中删除函数。为此, DROP FUNCTION需要 系统数据库的DELETE权限 。mysql由于该函数不再在mysql.func 表中注册,服务器在随后的重新启动期间不会加载该函数。

加载可加载函数时,有关它的信息可从mysql.func系统表中获得。请参阅第 5.6.2 节,“获取有关可加载函数的信息”CREATE FUNCTION将函数添加到表中并将 DROP FUNCTION其删除。

重新安装或升级可加载函数

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