MySQL 支持允许创建服务器插件的插件 API。插件可以在服务器启动时加载,也可以在运行时加载和卸载而无需重启服务器。该接口支持的插件包括但不限于存储引擎、INFORMATION_SCHEMA
表、全文解析器插件和服务器扩展。
MySQL 发行版包括几个实现服务器扩展的插件:
用于验证客户端连接到 MySQL 服务器的尝试的插件。插件可用于多种身份验证协议。请参阅第 6.2.17 节,“可插入身份验证”。
一个连接控制插件,使管理员能够在一定数量的连续客户端连接尝试失败后引入增加的延迟。请参阅 第 6.4.2 节,“连接控制插件”。
密码验证插件实施密码强度策略并评估潜在密码的强度。请参阅 第 6.4.3 节,“密码验证组件”。
半同步复制插件实现了一个复制功能的接口,只要至少有一个副本响应了每个事务,就允许源继续进行。请参阅第 17.4.10 节,“半同步复制”。
Group Replication 使您能够跨一组 MySQL 服务器实例创建高度可用的分布式 MySQL 服务,并内置数据一致性、冲突检测和解决以及组成员服务。请参阅 第 18 章,组复制。
MySQL Enterprise Edition 包括一个线程池插件,它管理连接线程以通过有效管理大量客户端连接的语句执行线程来提高服务器性能。请参阅第 5.6.3 节,“MySQL 企业线程池”。
MySQL 企业版包括一个审计插件,用于监控和记录连接和查询活动。请参阅第 6.4.5 节,“MySQL 企业审计”。
MySQL Enterprise Edition 包括一个防火墙插件,它实现了应用程序级防火墙,使数据库管理员能够根据与接受的语句模式的白名单进行匹配来允许或拒绝 SQL 语句的执行。请参阅 第 6.4.7 节,“MySQL 企业防火墙”。
查询重写插件检查 MySQL 服务器接收到的语句,并可能在服务器执行它们之前重写它们。请参阅第 5.6.4 节,“重写器查询重写插件”和 第 5.6.5 节,“ddl_rewriter 插件”。
版本令牌支持围绕服务器令牌创建和同步,应用程序可以使用服务器令牌来防止访问不正确或过时的数据。Version Tokens 基于一个插件库,该插件库实现了一个
version_tokens
插件和一组可加载的函数。请参阅第 5.6.6 节,“版本标记”。密钥环插件为敏感信息提供安全存储。请参阅第 6.4.4 节,“MySQL 密钥环”。
在 MySQL 8.0.24 中,MySQL Keyring 开始从插件过渡到使用组件基础设施,使用名为的插件
daemon_keyring_proxy_plugin
作为插件和组件服务 API 之间的桥梁。请参阅第 5.6.8 节,“Keyring 代理桥插件”。X Plugin 扩展了 MySQL 服务器,使其能够充当文档存储。运行 X 插件使 MySQL 服务器能够使用 X 协议与客户端通信,该协议旨在将 MySQL 的 ACID 兼容存储能力公开为文档存储。请参阅第 20.5 节,“X 插件”。
克隆允许
InnoDB
从本地或远程 MySQL 服务器实例克隆数据。请参阅 第 5.6.7 节,“克隆插件”。测试框架插件测试服务器服务。有关这些插件的信息,请参阅 MySQL Server Doxygen 文档的用于测试插件服务的插件部分,该文档位于 https://mysql.net.cn/doc/index-other.html。
以下部分描述了如何安装和卸载插件,以及如何在运行时确定安装了哪些插件并获取有关它们的信息。有关编写插件的信息,请参阅 MySQL 插件 API。