暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.7.1安装和卸载用户定义的功能

原创 由迪 2020-09-11
891

必须先将用户定义的函数(UDF)装入服务器,然后才能使用它们。MySQL支持在运行时手动加载UDF,并在服务器启动期间自动加载。

加载UDF时,如第5.7.2节“获取用户定义的功能信息”中所述,可以获得有关它的信息

安装用户定义的功能

要手动加载UDF,请使用以下 CREATE FUNCTION语句。例如:

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

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

CREATE FUNCTION 具有以下效果:

在正常的服务器启动过程中会自动进行UDF加载:

  • mysql.func表中 注册的UDF已安装。
  • 在启动时安装的服务器组件或插件可能会自动安装相关的UDF。
  • 自动UDF安装会将UDF添加到“性能模式” user_defined_functions 表中,该表提供有关已安装UDF的运行时信息。

如果使用该--skip-grant-tables选项启动服务器 ,则mysql.func表中注册的UDF 不会被加载并且不可用。这不适用于由组件或插件自动安装的UDF。

卸载用户定义的功能

要删除UDF,请使用以下 DROP FUNCTION语句。例如:

DROP FUNCTION metaphon;

DROP FUNCTION 具有以下效果:

  • 它会卸载UDF以使其不可用。
  • 它将UDF从mysql.func 系统表中删除。因此, DROP FUNCTION需要系统数据库的 DELETE特权 mysql。由于UDF不再在mysql.func 表中注册,因此服务器不会在后续重新启动期间加载UDF。
  • 它从user_defined_functions提供有关已安装UDF的运行时信息的“性能模式” 表中删除 UDF。

DROP FUNCTION不能用于删除由服务器组件或插件(而非通过使用)自动安装的UDF CREATE FUNCTION。当卸载了安装了该UDF的组件或插件时,该UDF也会自动删除。

重新安装或升级用户定义的功能

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论