MySQL:如何编写daemon plugin(11)

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

NULL, NULL, 0, &modes);

 

该变量属于枚举类型,每个session拥有自己的值,并且可在运行时修改;注意,当为session变量时,我们需要通过THDVAR(thd,mode)这样一个宏来获取相应的变量值

另外,对于Plugin中的系统变量无需加互斥锁,MySQL会自动给我们加上。

 

实例:启动一个后台线程,每隔5秒监控当前进程的状态(记录到log中),使用系统变量来控制是否记录log,并在show status显示记录的次数

 

 

 

 

#include <string.h> 

#include <plugin.h> 

#include<mysql_version.h> 

#include <my_global.h> 

#include <my_sys.h> 

#include<sys/resource.h> 

#include <sys/time.h> 

  

#define MONITORING_BUFFER1024 

  

/*以下三个变量在sql/mysqld.cc中声明,因此需要extern*/ 

extern ulong thread_id;  //当前最大线程id 

extern uint thread_count;  //当前线程数 

extern ulong max_connections;//最大允许连接数 

  

static pthread_tmonitoring_thread; //线程id 

static int monitoring_file;         //日志文件fd 

  

static my_bool monitor_state= 1;   //为1表示记录日志,为0则否 

static ulong monitor_num     = 0;   //后台线程循环次数 

static struct rusage usage;         

  

/*创建系统变量,可以通过配置文件或set global来修改*/ 

MYSQL_SYSVAR_BOOL(monitors_state,monitor_state, 

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

推荐热点

  • 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