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 添加函数。