28.2 MySQL 插件 API

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

例如,全文分析器插件可用于替换或增强内置的全文分析器。插件可以使用与内置解析器不同的规则将文本解析为单词。如果您需要解析 Feature 与内置解析器所期望的字符不同的文本,这将很有用。

插件界面比旧的用户定义函数(UDF)界面更通用。

插件界面使用mysql数据库中的plugintable 记录有关已通过INSTALL PLUGIN语句永久安装的插件的信息。该 table 是在 MySQL 安装过程中创建的。也可以使用--plugin-load选项为单个服务器调用安装插件。以这种方式安装的插件不会记录在plugintable 中。参见第 5.5.1 节“安装和卸载插件”

MySQL 除了支持服务器插件外,还支持 Client 端插件的 API。例如,身份验证插件使用了此功能,其中服务器端插件和 Client 端插件协同工作,以使 Client 端能够通过各种身份验证方法连接到服务器。

Additional Resources

Sergei Golubchik 和 Andrew Hutchings 撰写的《 MySQL 5.1 Plugin Development》一书提供了有关插件 API 的大量详细信息。尽管本书的标题引用了 MySQL Server 5.1,但其中的大多数信息也适用于更高版本。