MySQL 支持可加载函数,即未内置但在运行时(在启动期间或之后)可以加载以扩展服务器功能或卸载以删除功能的函数。有关描述可用可加载函数的表,请参阅第 14.2 节“可加载函数参考”。可加载函数与内置(本机)函数形成对比,后者作为服务器的一部分实现并且始终可用;有关表格,请参阅第 14.1 节“内置函数和运算符参考”。
可加载函数以前称为用户定义函数 (UDF)。该术语有点用词不当,因为“用户定义的”也可以应用于其他类型的函数,例如存储函数(使用 SQL 编写的存储对象类型)和通过修改服务器源代码添加的本机函数。
MySQL 发行版包括可加载函数,这些函数全部或部分地实现了以下服务器功能
组复制使您能够在一组 MySQL 服务器实例之间创建高可用性的分布式 MySQL 服务,并内置数据一致性、冲突检测和解决以及组成员资格服务。请参阅第 20 章“组复制”。
MySQL 企业版包括基于 OpenSSL 库执行加密操作的函数。请参阅第 8.6 节“MySQL 企业加密”。
MySQL 企业版包括提供用于屏蔽和去识别操作的 SQL 级 API 的函数。请参阅第 8.5 节“MySQL 企业数据屏蔽和去识别”。
MySQL 企业版包括用于监控和记录连接和查询活动的审计日志记录。请参阅第 8.4.5 节“MySQL 企业审计”和第 8.4.6 节“审计消息组件”。
MySQL 企业版包括防火墙功能,该功能实现了一个应用程序级防火墙,以使数据库管理员能够根据与接受语句的模式匹配来允许或拒绝 SQL 语句执行。请参阅第 8.4.7 节“MySQL 企业防火墙”。
查询重写器检查 MySQL 服务器收到的语句,并可能在服务器执行它们之前重写它们。请参阅第 7.6.4 节“Rewriter 查询重写插件”
版本令牌允许创建服务器令牌并围绕其进行同步,应用程序可以使用这些令牌来防止访问不正确或过时的数据。请参阅第 7.6.6 节“版本令牌”。
MySQL Keyring 为敏感信息提供安全存储。请参阅第 8.4.4 节“MySQL Keyring”。
锁定服务提供用于应用程序的锁定接口。请参阅第 7.6.9.1 节“锁定服务”。
函数提供对查询属性的访问。请参阅第 11.6 节“查询属性”。
以下部分介绍如何安装和卸载可加载函数,以及如何在运行时确定安装了哪些可加载函数并获取有关它们的信息。
在某些情况下,可加载函数是通过安装实现该函数的组件来加载的,而不是直接加载该函数。有关特定可加载函数的详细信息,请参阅包含该函数的服务器功能的安装说明。
有关编写可加载函数的信息,请参阅向 MySQL 添加函数。