5.5 MySQL 服务器插件

MySQL 支持用于创建服务器组件的插件 API。可以在服务器启动时加载插件,也可以在运行时加载和卸载插件,而无需重新启动服务器。该接口支持的组件包括但不限于存储引擎,INFORMATION_SCHEMAtable,全文解析器插件,分区支持和服务器扩展。

MySQL 发行版包含几个实现服务器扩展的插件:

  • 用于验证 Client 端尝试连接到 MySQL Server 的插件。插件可用于多种身份验证协议。参见第 6.2.13 节“可插入身份验证”

  • 连接控制插件,使 Management 员能够在一定数量的连续失败的 Client 端连接尝试之后引入增加的延迟。参见第 6.4.2 节“连接控制插件”

  • 密码验证插件可实施密码强度策略并评估潜在密码的强度。参见第 6.4.3 节“密码验证插件”

  • 半同步复制插件实现了复制功能的接口,只要至少一个从属已响应每个事务,复制功能就允许主控 continue 进行。参见第 16.3.9 节“同步复制”

  • 使用组复制,您可以跨一组 MySQL 服务器实例创建高度可用的分布式 MySQL 服务,并具有内置的数据一致性,冲突检测和解决以及组成员资格服务。参见第 17 章,组复制

  • MySQL Enterprise Edition 包含一个线程池插件,该插件通过有效 Management 大量 Client 端连接的语句执行线程来 Management 连接线程,从而提高服务器性能。参见第 5.5.3 节“ MySQL 企业线程池”

  • MySQL Enterprise Edition 包含一个审计插件,用于监视和记录连接和查询活动。参见第 6.4.5 节“ MySQL 企业审核”

  • MySQL Enterprise Edition 包含一个防火墙插件,该插件实现了应用程序级防火墙,以使数据库 Management 员可以根据与接受的语句模式的白名单匹配来允许或拒绝 SQL 语句执行。参见第 6.4.6 节“ MySQL 企业防火墙”

  • 一个查询重写插件会检查 MySQL Server 收到的语句,并可能在服务器执行它们之前对其进行重写。见第 5.5.4 节“重写器查询重写插件”

  • 通过版本令牌,可以创建服务器令牌并围绕服务器令牌进行同步,应用程序可以使用这些令牌来防止访问不正确或过时的数据。版本令牌基于实现version_tokens插件和一组用户定义函数的插件库。参见第 5.5.5 节“版本令牌”

  • 密钥环插件可为敏感信息提供安全的存储。参见第 6.4.4 节“ MySQL 密钥环”

  • X 插件扩展了 MySQL Server,使其能够充当文档存储。运行 X 插件使 MySQL Server 可以使用 X 协议与 Client 端通信,该协议旨在将 MySQL 的 ACID 兼容存储功能公开为文档存储。参见第 19.4 节“ X 插件”

  • 测试框架插件测试服务器服务。有关这些插件的信息,请参见 MySQL Server Doxygen 文档的“用于测试插件服务的插件”部分,网址为https://dev.mysql.com/doc/index-other.html

以下各节介绍如何安装和卸载插件,以及如何在运行时确定安装了哪些插件并获取有关它们的信息。有关编写插件的信息,请参见第 28.2 节“ MySQL 插件 API”