MySQL:如何编写daemon plugin(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:56 点击:

这里涉及到的一些结构体,对其他类型的plugin而言也是通用的

 

1)st_mysql_plugin

无论声明哪种plugin,至少要包含该结构体

字段

类型

描述

type

int

用于描述plugin的类型,随着版本更新,越来越多,在5.5中包含8种类型:

MYSQL_UDF_PLUGIN

MYSQL_STORAGE_ENGINE_PLUGIN

MYSQL_FTPARSER_PLUGIN

MYSQL_DAEMON_PLUGIN

MYSQL_INFORMATION_SCHEMA_PLUGIN

MYSQL_AUDIT_PLUGIN

MYSQL_REPLICATION_PLUGIN

MYSQL_AUTHENTICATION_PLUGIN

info

void*

用于指向特定的plugin描述符结构体,在daemon plugin中结构体为st_mysql_daemon,一般第一个字段都是插件接口的版本号

name

const char*

plugin的名字,需要和安装时的名字一致

author

const char*

plugin的作者信息,会在i_s.plugins表中显示

descry

const char*

描述插件

license

ubt

插件许可证:PLUGIN_LICENSE_PROPRIETARY

PLUGIN_LICENSE_GPL

PLUGIN_LICENSE_BSD

init

int (*init)(void *)

当插件被加载时或者mysqld重启时会执行该函数,一般我们会在这里创建好后台线程

deinit

int (*deinit)(void *);

当插件被卸载时做的工作,例如取消线程,清理内存等

version

unsigned int

plugin的版本信息

status_vars

st_mysql_show_var*

描述在执行show status时显示的信息

system_vars

st_mysql_sys_var **

描述在执行show variables显示的信息

__reserved1

void*

注释说为检查依赖而保留,不太明白,直接设为NULL即可

flags

unsigned long

5.5之后增加的字段,plugin的flag:0、

PLUGIN_OPT_NO_INSTALL(不可动态加载)、PLUGIN_OPT_NO_UNINSTALL(不可动态加载)

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • mysql-mmm
  • mysqldump命令——MySQL数据库备份还原
  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL数据库十大优化技巧
  • Mysql安装笔记
  • Mysql主主复制架构配置
  • Mysql的Procedure 参数为NULL问题分析
  • MySQL Stmt预处理提高效率问题的小研究
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1