7.7 MySQL 服务器可加载函数
MySQL 支持可加载函数,即在运行时可以加载或卸载的函数,以扩展服务器功能或删除功能。有关可加载函数的可用函数列表,请参见第14.2节,“可加载函数参考”。可加载函数与内置函数不同,后者是服务器的一部分实现,并且总是可用的;有关内置函数的列表,请参见第14.1节,“内置函数和操作符参考”。
可加载函数之前曾被称为用户定义函数(UDFs)。这种称呼有点误导,因为“用户定义”也可以应用于其他类型的函数,例如存储函数(使用 SQL 编写的存储对象)和通过修改服务器源代码添加的 native 函数。
MySQL 发行版包括了可加载函数,实现了服务器功能的一部分或全部,这些功能包括:
-
Group Replication 允许您创建一个高可用分布式 MySQL 服务,跨多个 MySQL 服务器实例,具有数据一致性、冲突检测和解决、组成员服务等功能。请参见第20章,《Group Replication》。
-
MySQL Enterprise Edition 包含了使用 OpenSSL 库实现的加密操作函数。请参见第8.6节,“MySQL Enterprise Encryption”。
-
MySQL Enterprise Edition 包含了对数据masking 和 de-identification 操作的 SQL 级别 API。请参见第8.5节,“MySQL Enterprise Data Masking and De-Identification”。
-
MySQL Enterprise Edition 包含了对连接和查询活动的审核日志记录。请参见第8.4.5节,“MySQL Enterprise Audit”,和第8.4.6节,“The Audit Message Component”。
-
MySQL Enterprise Edition 包含了应用程序级别的防火墙,可以根据模式匹配来允许或拒绝 SQL 语句执行。请参见第8.4.7节,“MySQL Enterprise Firewall”。
-
MySQL 服务器接收到语句后,查询重写器可能会对其进行重写,然后再执行语句。见第7.6.4节,“查询重写插件”
-
版本令牌功能使应用程序可以创建和同步服务器令牌,以防止访问错误或过期的数据。见第7.6.6节,“版本令牌”。
-
MySQL 密钥环提供了安全存储敏感信息的功能。见第8.4.4节,“MySQL 密钥环”。
-
锁定服务提供了应用程序使用的锁定接口。见第7.6.9.1节,“锁定服务”。
-
函数提供了查询属性的访问方式。见第11.6节,“查询属性”。
以下部分描述了如何安装和卸载可加载函数,以及如何在运行时确定已安装的可加载函数和获取关于它们的信息。
在某些情况下,加载函数是通过安装实现函数的组件,而不是直接加载函数的方式。有关特定可加载函数的详细信息,请见包含该函数的服务器功能的安装说明。
有关编写可加载函数的信息,请见将函数添加到 MySQL。