7.6 MySQL 服务器插件
MySQL 支持插件API,允许创建服务器插件。插件可以在服务器启动时加载,也可以在运行时加载和卸载,而不需要重新启动服务器。支持的插件包括,但不限于存储引擎、INFORMATION_SCHEMA
表、全文搜索插件和服务器扩展。
MySQL 发行版包括多个插件,实现服务器扩展:
-
用于验证客户端连接尝试的插件。插件可用于多种身份验证协议。见第8.2.17节,“可插拔身份验证”。
-
连接控制插件,允许管理员在客户端连接尝试失败后引入延迟。见第8.4.2节,“连接控制插件”。
-
密码验证插件,实现密码强度策略和评估潜在密码强度。见第8.4.3节,“密码验证组件”。
-
半同步复制插件,实现了 replication 能力,允许源服务器在至少一个副本响应每个事务时继续。见第19.4.10节,“半同步复制”。
-
Group Replication 允许您创建一个高可用分布式 MySQL 服务,跨多个 MySQL 服务器实例,具有数据一致性、冲突检测和解决、组成员服务等功能。请参见第20章,《Group Replication》。
-
MySQL Enterprise Edition 包含一个线程池插件,用于管理连接线程,以提高服务器性能,高效地管理语句执行线程以处理大量客户端连接。请参见第7.6.3节,“MySQL Enterprise Thread Pool”。
-
MySQL Enterprise Edition 包含一个审核插件,用于监控和记录连接和查询活动。请参见第8.4.5节,“MySQL Enterprise Audit”。
-
MySQL Enterprise Edition 包含一个防火墙插件,实现了一个应用程序级别的防火墙,允许数据库管理员根据允许的语句模式来允许或拒绝 SQL 语句执行。请参见第8.4.7节,“MySQL Enterprise Firewall”。
-
查询重写插件检查 MySQL 服务器接收到的语句,并可能在服务器执行它们之前对其进行重写。请参见第7.6.4节,“The Rewriter Query Rewrite Plugin”,和第7.6.5节,“The ddl_rewriter Plugin”。
-
Version Tokens 允许创建和同步服务器令牌,以便应用程序可以使用它们来防止访问错误或过期的数据。Version Tokens 基于一个插件库,实现了一个
version_tokens
插件和一组可加载函数。请参见第7.6.6节,“Version Tokens”。 -
Keyring 插件提供了对敏感信息的安全存储。请参见第8.4.4节,“The MySQL Keyring”。
-
X 插件将 MySQL 服务器扩展为一个文档存储。运行 X 插件将使 MySQL 服务器能够与使用 X 协议的客户端通信,该协议旨在将 MySQL 的 ACID 一致性存储能力暴露给客户端。请参见第22.5节,“X Plugin”。
-
Clone 插件允许从本地或远程 MySQL 服务器实例克隆
InnoDB
数据。请参见第7.6.7节,“The Clone Plugin”。 -
测试框架插件测试服务器服务。有关这些插件的信息,请参见 MySQL 服务器 Doxygen 文档的“Plugins for Testing Plugin Services”部分,位于https://dev.mysql.com/doc/index-other.html。
以下部分描述了如何安装和卸载插件,以及如何在运行时确定已安装的插件和获取关于它们的信息。有关编写插件的信息,请参见The MySQL Plugin API。