编写MySQL插件

时间:2011-01-07 15:19:21

标签: mysql c plugins

我目前正在考虑在C中编写一个mysql插件。我一直在阅读和研究MySQL 5.1插件开发(http://www.amazon.com/MySQL-Plugin-Development-Sergei-Golubchik/dp/1849510601),它一直在帮助我。但是,我似乎找不到任何执行查询的示例。我尝试使用谷歌搜索,但找不到任何相关的例子。我目前的目标是只编写一个简单的插件,在将一些数据输入表后,只执行一些基本的选择查询。如果有人愿意分享这样一个例子的链接或提供一个例子,那将是非常感激的。

4 个答案:

答案 0 :(得分:0)

之前我没有使用过Mysql,但是你可能想看看这些链接:

  1. http://dev.mysql.com/doc/refman/5.1/en/c-api-function-overview.html
  2. http://www.mysql.com/downloads/connector/c/
  3. 如果您了解MySql,我认为这些链接至少是一个很好的起点。

答案 1 :(得分:0)

作为编写存储引擎插件的人,我发现从MySQL插件中执行查询非常困难。由于在MySQL进程中锁定,MySQL不可重入。您可以使用MySQL客户端api(由chris建议)连接到同一服务器。但是99%的可能性只会使整个服务器死锁。

答案 2 :(得分:0)

我不知道这是否有帮助,但是我创建了一个用C编写的小型mysql插件。该插件基本上设置了一个函数,当从mysql触发时,该函数会将有关删除,插入或更新查询的信息发送给正在运行的节点套接字服务器。

您可以在此处找到存储库:

https://github.com/Cyclonecode/mysql-notification

答案 3 :(得分:-2)

听起来我觉得尝试在storange引擎中执行查询并不是一个好主意,因为这会引入服务器无法处理的重新入侵。

但是,您可以从守护程序线程执行此操作,因为事件调度程序已经这样做了。同样,Handlersocket执行类似的操作(但使用处理程序API而不是执行查询)。

无论如何,听起来有点可疑。如果您只是在学习,请尝试编写一些UDF(它们很简单)。