mysql lib plugin_MySQL plugin结构

1、背景

MySQL插件安装语法如下:

13.7.3.3 INSTALL PLUGIN Syntax

INSTALL PLUGIN plugin_name SONAME 'shared_library_name'

问题:如何找到plugin_name和shared_library_name对应关系呢?

一个一个查找文档吗?答案不是这样的,当然可以通过源码的方式查找。

2、对应关系查找

2.1、半同步主库设置

[root@typhoeus81 ice_test_2 semisync]# pwd

/data1/guosong/opdir/mysql-5.6.16/plugin/semisync/semisync_master_plugin.cc

434 /*

435 Plugin library descriptor

436 */

437 mysql_declare_plugin(semi_sync_master)

438 {

439 MYSQL_REPLICATION_PLUGIN,

440 &semi_sync_master_plugin,

441 "rpl_semi_sync_master",

442 "He Zhenxing",

443 "Semi-synchronous replication master",

444 PLUGIN_LICENSE_GPL,

445 semi_sync_master_plugin_init, /* Plugin Init */

446 semi_sync_master_plugin_deinit, /* Plugin Deinit */

447 0x0100 /* 1.0 */,

448 semi_sync_master_status_vars, /* status variables */

449 semi_sync_master_system_vars, /* system variables */

450 NULL, /* config options */

451 0, /* flags */

452 }

453 mysql_declare_plugin_end;

2.2、半同步从库设置

[root@typhoeus81 ice_test_2 semisync]# pwd

/data1/guosong/opdir/mysql-5.6.16/plugin/semisync

[root@typhoeus81 ice_test_2 semisync]# vim semisync_slave_plugin.cc

215 mysql_declare_plugin(semi_sync_slave)

216 {

217 MYSQL_REPLICATION_PLUGIN,

218 &semi_sync_slave_plugin,

219 "rpl_semi_sync_slave",

220 "He Zhenxing",

221 "Semi-synchronous replication slave",

222 PLUGIN_LICENSE_GPL,

223 semi_sync_slave_plugin_init, /* Plugin Init */

224 semi_sync_slave_plugin_deinit, /* Plugin Deinit */

225 0x0100 /* 1.0 */,

226 semi_sync_slave_status_vars, /* status variables */

227 semi_sync_slave_system_vars, /* system variables */

228 NULL, /* config options */

229 0, /* flags */

230 }

2.3、audit_null

[root@typhoeus81 ice_test_2 audit_null]# pwd

/data1/guosong/opdir/mysql-5.6.16/plugin/audit_null

[root@typhoeus81 ice_test_2 audit_null]# vim audit_null.c

195 mysql_declare_plugin(audit_null)

196 {

197 MYSQL_AUDIT_PLUGIN, /* type */

198 &audit_null_descriptor, /* descriptor */

199 "NULL_AUDIT", /* name */

200 "Oracle Corp", /* author */

201 "Simple NULL Audit", /* description */

202 PLUGIN_LICENSE_GPL,

203 audit_null_plugin_init, /* init function (when loaded) */

204 audit_null_plugin_deinit, /* deinit function (when unloaded) */

205 0x0003, /* version */

206 simple_status, /* status variables */

207 NULL, /* system variables */

208 NULL,

209 0,

210 }

211 mysql_declare_plugin_end;

2.4、qa_auth_client

[root@typhoeus81 ice_test_2 auth]# pwd

/data1/guosong/opdir/mysql-5.6.16/plugin/auth

[root@typhoeus81 ice_test_2 auth]# vim qa_auth_client.c

116 mysql_declare_client_plugin(AUTHENTICATION)

117 "qa_auth_client",

118 "Horst Hunger",

119 "Dialog Client Authentication Plugin",

120 {0,1,0},

121 "GPL",

122 NULL,

123 NULL,

124 NULL,

125 NULL,

126 test_plugin_client

127 mysql_end_client_plugin;

规律的就是在mysql_declare_plugin中进行定义了,通过查找源码:

ZCM8QAAAABJRU5ErkJggg==

非常方便找到对应关系

3、MySQL Plugin原理

(待续)

4、参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值