mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)_一个节点的博客-CSDN博客


本站和网页 https://blog.csdn.net/cyantide/article/details/50828746 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)_一个节点的博客-CSDN博客
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
一个节点
于 2016-03-08 17:04:12 发布
12022
收藏
文章标签:
mysql
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cyantide/article/details/50828746
版权
mysql
专栏收录该内容
5 篇文章
0 订阅
订阅专栏
近期接到一个任务,在商家的商品信息发生改变后,要及时通知商家的业务系统,并将变更后的数据同步过去。 第一时间想法是,在主系统的商家编辑模块插入对应代码,当商品编辑后,发送商品id至MQ中,子系统消息订阅,并进行相应处理,感觉不错,但是在主系统进行扩展,系统代码会越来越臃肿。 有没有更好的解决方案,比如让mysql主动通知业务系统,数据发生变化了?于是找到了mysql-udf-http。
mysql-udf-http 是一款简单的MySQL用户自定义函数,具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作,它的安装方式如下:
tar zxvf mysql-udf-http-1.0.tar.gz
cd mysql-udf-http-1.0/
./configure --prefix=/usr/local/mysql --with-mysql=/usr/local/mysql/bin/mysql_config
make && make install
如果提示缺少libcurl,就安装curl
yum install curl*
正常的情况mysql-udf-http.so等文件将安装至/usr/local/mysql/lib/plugin下,不知什么原因我的装在了/usr/local/mysql/lib/mysql/plugin下,于是加个软链
ln -s /usr/local/mysql/lib/mysql/plugin/mysql-udf-http.so /usr/local/mysql/lib/plugin/mysql-udf-http.so
安装成功后,进到mysql控制台,注册相关函数
create function http_get returns string soname 'mysql-udf-http.so';
create function http_post returns string soname 'mysql-udf-http.so';
create function http_put returns string soname 'mysql-udf-http.so';
create function http_delete returns string soname 'mysql-udf-http.so';
然后在业务表中加入更新操作的触发器
DELIMITER |
DROP TRIGGER IF EXISTS test_update;
CREATE TRIGGER test_update
AFTER UPDATE ON test
FOR EACH ROW BEGIN
SET @tt_re = (SELECT http_get(CONCAT('http://192.168.0.1:8080/my.do?id=', OLD.id)));
END |
DELIMITER ;
经测试,当商品表中的数据有更新时,mysql会发送get请求至业务系统。
INSERT 触发器
DELIMITER |
DROP TRIGGER IF EXISTS test_insert;
CREATE TRIGGER test_insert
AFTER INSERT ON test
FOR EACH ROW BEGIN
SET @tt_re = (SELECT http_get(CONCAT('http://192.168.0.1:8080/my.do?id=', OLD.id)));
END |
DELIMITER ;
DELETE 触发器
DELIMITER |
DROP TRIGGER IF EXISTS test_delete;
CREATE TRIGGER test_delete
AFTER DELETE ON test
FOR EACH ROW BEGIN
SET @tt_re = (SELECT http_get(CONCAT('http://192.168.0.1:8080/my.do?id=', OLD.id)));
END |
DELIMITER ;
下载地址 http://code.google.com/p/mysql-udf-http csdn下载 http://download.csdn.net/detail/cyantide/9455805
一个节点
关注
关注
点赞
收藏
打赏
评论
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
mysql-udf-http 是一款简单的MySQL用户自定义函数,具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作
复制链接
扫一扫
专栏目录
mysql-udf-http
03-08
mysql-udf-http
mysql-udf-http下载
09-02
mysql-udf-http下载
发现很多链接都是链接到谷歌
在这里csdn传一份,方便大家国内下载
谢谢
评论 4
您还未登录,请先
登录
后发表或查看评论
vue的双向绑定原理
最新发布
weixin_42178670的博客
11-24
412
一、原理vue2采用数据劫持结合发布者-订阅者模式的方法,通过Object.defineProperty()来劫持各个属性的setter和getter,当数据发生变化时通知订阅者,触发相应的回调,渲染更新视图二、具体步骤1、对于需要observer的数据,通过递归遍历,给它的所有属性(包括子属性)添加上setter和getter,以便数据发生变更时触发setter。
通过Java监听MySQL数据的变化
你好牛蛙!
10-24
2421
java通过bin-log监控mysql数据变化,通过Java监听MySQL数据的变化。对于数据的变化,如果想要前端实时更新,可以使用这个,再配合WebSocket就可以实现前端实时更新数据库数据。
mysql开启http请求功能。
05-11
mysql开启http请求功能。
mysql_http_udf
01-07
描述讲解(第七步开始): https://blog.csdn.net/xb191799981/article/details/85991094
---查询当前共享库文件存放路径
show variables like 'plugin_dir';
---将so库文件复制到共享路径下
cp libHttpClient.so /usr/lib/mysql/plugin/
---查询当前已导入的共享方法有哪些
select * from mysql.func;
---开始创建共享方法
DROP FUNCTION IF EXISTS Http_Get;
DROP FUNCTION IF EXISTS Http_Post;
create function Http_Get RETURNS string soname 'libHttpClient.so';
create function Http_Post RETURNS string soname 'libHttpClient.so';
---查询分析器中调用共享方法
select Http_Get('http://www.baidu.com') as Val;
select Http_Post('http://www.baidu.com','a=1&b=2') as Val;
mysql_udf_http(根据mysql表自动触发发送http请求)
weixin_30381317的博客
05-31
2389
下载 tar包wget http://mysql-udf-http.googlecode.com/files/mysql-udf-http-1.0.tar.gz解压tar -vzxf mysql-udf-http-1.0.tar.gzcd mysql-udf-http-1.0编译./configure --prefix=/usr/local/mysql --with-mysql=/etc/my.c...
mysql触发器trigger 实例详解
weixin_33872566的博客
09-24
591
MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:
什么是触发器
触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。
举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器...
mysql触发器发起http请求_Sql server2012中触发器发送http请求
weixin_33521678的博客
02-01
875
Sql server2012中触发器发送http请求,可以通过创建存储过程,由存储过程发送http请求,触发器生成url参数,调用存储过程的方式。1、存储过程示例USE [mpe_db_Data]GO/****** Object: StoredProcedure [dbo].[P_GET_HttpRequestData] Script Date: 2015-07-23 15:27:52 *...
mysql触发器http_mysql触发器http请求
weixin_28223453的博客
01-19
816
当mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)mysql-udf-http 是一款简单的MySQL用户自定义函数,具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作linux需要支持curl,如果已经支持,可跳过第一步1、安装 curlyum ins...
渗透测试以及安全面试的经验之谈-技术篇
weixin_34100227的博客
06-18
8740
技术面试问题
CTF
说一个印象深刻的CTF的题目
Padding Oracle->CBC->密码学(RSA/AES/DSA/SM)
CRC32
反序列化漏洞
sql二次注入
第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助 get_magic_quotes_gpc 对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身还是...
mysql8调用HTTP请求
q1054733797的博客
11-02
580
下载mysql-udf-http-1.0.tar.gz
链接:https://pan.baidu.com/s/1PslMSdeqDUE98GnYbG6d8g
提取码:a740
安装
tar -zxvf mysql-udf-http-1.0.tar.gz
cd mysql-udf-http-1.0
vi src/mysql-udf-http.c
//mysql8中没有my_bool数据类型,需要替换成bool
:%s/my_bool/bool/g
//--with-mysql替换成自己mysql安
mysql udf http.so_MySQL-UDF-HTTP + Express + WebSocket 实现数据库推送
weixin_32409707的博客
01-20
112
场景在很多 WEB 应用中,都会存在这样一种场景,数据库服务器(为区别扮演各种角色的数据库产品,以下称 MySQL)都位于 WEB 服务器(以下称 Express)之后,为 Express 提供服务。这样就带来一个问题,作为主动方的 Express,无法被动感知 MySQL 内容的变化,一旦数据库数据变化,而我们想要在发生这种变化时做一些逻辑时,当下现有的东西是无法满足的。分析怎样才能有效追踪数据...
mysql udf http安装_linux下安装mysql-udf-http
weixin_35348630的博客
01-19
324
Mysql-udf-http 是一款简单的MySQL用户自定义函数(UDF, User-Defined Functions),具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作。网上的例子大都是下载安装包mysql-udf-http-1.0.tar.gz,通过命令行的形式进行安装。...
mysql更新实时通知_如何使用websockets从mysql获取实时通知更新?
weixin_39913472的博客
02-01
250
小编典典我是否将WebSocket用于正确的要求?实时通知是Websockets蓬勃发展的地方,并提供了超过AJAX的巨大优势。如您所知,在辩论AJAX的角色(CRUD的伟大之处,在轮询时没有太大的意义)以及比较Websocket性能与AJAX性能(涉及实时更新的Websocket总是更快)之前,已经对此进行了讨论。还是有其他有效的方式满足我的要求?是的…您可以通过向on_update数据库访问点...
mysql数据变化通通知机制_异步通知机制的总结
weixin_36280317的博客
01-20
239
要弄明白这个问题,我们得从最基本的原理开始。我们知道,驱动程序运行在内核空间中,应用程序运行在用户空间中,两者是不能直接通信的。但在实际应用中,在设备已经准备好的时候,我们希望通知用户程序设备已经ok,用户程序可以读取了,这样应用程序就不需要一直查询该设备的状态,从而节约了资源,这就是异步通知。好,那下一个问题就来了,这个过程如何实现呢?简单,两方面的工作。一 驱动方面:1. 在设备抽象的数据结构...
Mysql 触发器的Http请求
chengmin123456789的博客
04-20
2176
1、安装 mysql-udf-http
tar zxvf mysql-udf-http-1.0.tar.gz
cd mysql-udf-http-1.0/
./configure --prefix=/usr/local/mysql --with-mysql=/usr/local/mysql/bin/mysql_config
make && make install
如果提示...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
一个节点
CSDN认证博客专家
CSDN认证企业博客
码龄20年
暂无认证
46
原创
15万+
周排名
69万+
总排名
8万+
访问
等级
1215
积分
15
粉丝
17
获赞
11
评论
17
收藏
私信
关注
热门文章
创建线程池的几种方式
17417
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
12022
CountDownLatch用法
5088
浅谈 Fork/Join
4044
全栈小知识-前端代码美化库js-beautify
3289
最新评论
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
weixin_41992986:
是啊写了触发器后报错:Lost connection to MySQL server during query。请问怎么解决?
CountDownLatch用法
字节律动:
千言万语抵不过两个字,牛逼
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
原影远行:
写了触发器后报错:Lost connection to MySQL server during query。请问怎么解决?
mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)
新线君
回复
k2101858168:
同问
创建线程的几种方式
weixin_42249261:
启动线程能用run吗?[code=java]
public class MyThread implements java.lang.Runnable {
public void run(){
...
启动
new Thread(new MyThread()).run();
[/code]
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
全栈小知识-mysql将字符串转换成数字
全栈小知识-前端代码美化库js-beautify
全栈小知识-超链接(a标签)的各种状态,对应不同的css样式
2019年7篇
2017年1篇
2016年40篇
2010年2篇
目录
目录
最新文章
全栈小知识-mysql将字符串转换成数字
全栈小知识-前端代码美化库js-beautify
全栈小知识-超链接(a标签)的各种状态,对应不同的css样式
2019年7篇
2017年1篇
2016年40篇
2010年2篇
目录
评论 4
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
一个节点
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值