Skip to content

Latest commit

 

History

History
27 lines (17 loc) · 1.75 KB

File metadata and controls

27 lines (17 loc) · 1.75 KB

编写插件

参考Writing Plugins

要创建插件库,必须提供要求的描述符信息,说明库文件包含的是什么插件,并且为每个插件编写接口函数。

每一个服务器插件必须有一个通用描述符来提供插件信息给插件API;同时还要有一个特定类型的描述符,来提供给定类型的插件的接口信息。所有插件类型的通用描述符的结构是相同的。特定类型的描述符在不同插件之间是不一样的。服务器插件接口同时也使插件能够暴露状态和系统变量。这些变量通过SHOW STATUSSHOW VARIABLES和对应的INFORMATION_SCHEMA表变得可见。

下面的过程提供了创建插件库的必要步骤的概览。

  1. 在插件的源文件中,包含插件库需要的头文件。plugin.h文件是必需的,库也可能需要其它文件。例如:
#include <stdlib.h>
#include <ctype.h>
#include <mysql/plugin.h>
  1. 为插件库文件设置描述符信息。对服务器插件来说,编写库描述符必须为每个插件在文件中包含通用插件描述符。另外,为每个服务器插件在库中设置特定类型的描述符。每个插件的通用描述符指向它的类型特定的描述符。

  2. 为每个插件编写插件接口函数。例如,每个插件的通用插件描述符指向初始化和析构函数,服务器在加载和卸载插件时需要调用。插件的类型特定描述符也指向接口函数。

  3. 对于服务器插件,设置状态和系统变量,如果有的话。

  4. 将插件库编译为动态库并且安装到插件目录。

  5. 对于服务器插件,注册插件到服务器。

  6. 测试插件来验证其能够正确工作。