MySQl的插件

  除了UDF,MySQL还支持各种各样的插件。这些插件可以在MySQL中新增启动选项和状态值,还可以新增INF0RMATI0N_SCHEMA表,或者在MySQL的后台执行任务,等等。

  在MySQL5.1和更新的版本中,MySQL新增了很多的插件接口,使得你无须直接修改MySQL的源代码就可以大大扩展它的功能。下面是一个简单的插件列表。

  存储过程插件

存储过程插件可以帮你在存储过程运行后再处理一次运行结果。这是一个很古老的插件了,和UDF有些类似,多数人都可能忘记了这个插件的存在。内置的PROCEDURE ANALYSE就是一个很好的示例。

  后台插件

后台插件可以让你的程序在MySQL中运行,可以实现自己的网络监听、执行自己的定期任务。后台插件的一个典型例子就是在Percona Server中包含的Handler-Socket插件。它监听一个新的网络端口,使用一个简单的协议可以帮你无须使用SQL接口直接访问InnoDB数据,这也使得MySQL能够像一些NoSQL—样具有非常髙的性能。

  INFORMATION_SCHEMA插件

这个插件可以提供一个新的内存INFORMATION_SCHEMA表。

  全文解析插件

这个插件提供一种处理文本的功能,可以根据自己的需求来对一个文档进行分词,所以如果给定一个PDF文档目录,可以使用这个插件对这个文档进行分词处理。也可以用此来增强査询执行过程中的词语匹配功能。

  审计插件

审计插件在査询执行的过程中的某些固定点被调用,所以它可以用作(例如)记录MySQL的事件日志。

  认证插件

认证插件既可以在MySQL客户端也可在它的服务器端,可以使用这类插件来扩展MySQL的认证功能,例如可以实现PAM和LDAP认证。

  要了解更多细节,可以参考MySQL的官方手册,或者读读由Sergei Golubchik和Andrew Hutchings(Packt)编写的MySQL 5.1 Plugin Development。如果你需要一个插件,但是却不知道怎么实现,有很多公司都提供这类咨询服务,例如Monty Program、Open Query、Percona和SkySQL。可能未来8.0或者更新版本会有更改,这里只是以5.X做一个参考。

 

上一篇:Spark工作原理


下一篇:我为什么不看好微信小程序