下载 tar包
wget http://mysql-udf-http.googlecode.com/files/mysql-udf-http-1.0.tar.gz
解压
tar -vzxf mysql-udf-http-1.0.tar.gz
cd mysql-udf-http-1.0
编译
./configure --prefix=/usr/local/mysql --with-mysql=/etc/my.cnf
make && make install
注释 如果报错 说明 缺少mysql源码文件
下载mysql 的源码包
打开源码包文件夹
cd /usr/local/src/mysql-8.0.16
cp -r include/* /usr/local/src/mysql-udf-http-1.0/src
再进行编译 make && make install
如果还报错则
vim mysql-udf-http.c
在命令行模式
:%s/my_bool/int/g
这样再进行make && make install
然后
cp -r /usr/local/mysql/lib/mysql-udf-http.so /usr/lib64/mysql/plugin/

打开mysql client端进行测试
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';

select http_get("http://127.0.0.1:5000/"); # 访问 flask 服务
如果查出东西来就证明成功了。

创建表测试
CREATE TABLE IF NOT EXISTS `test`(
`id` INT UNSIGNED AUTO_INCREMENT,
`k` VARCHAR(100) NOT NULL,
`v` VARCHAR(40) NOT NULL,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建触发器测试
DELIMITER |
DROP TRIGGER IF EXISTS test_update;
CREATE TRIGGER test_update
AFTER UPDATE ON test
FOR EACH ROW BEGIN
SET @tt_resu = (SELECT http_get('http://127.0.0.1:5000/?update=true'))
END |
DELIMITER ;

更新表触发
update test set v='c' where id =1

mysql_udf_http(根据mysql表自动触发发送http请求)的更多相关文章

  1. mybits根据表自动生成 java类和mapper 文件

    mybits根据表自动生成 java类和mapper 文件 我这个脑子啊,每次创建新的工程都会忘记是怎么集成mybits怎么生成mapper文件的,so today , I can't write t ...

  2. Go语言根据数据表自动生成model以及controller代码

    手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0 这里仅说明自动生成model文件的过程 bee generate appcode -tabl ...

  3. mybatis 逆向工程(通过数据库表针对单表自动生成mybatis执行所需要的代码)

    mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员 ...

  4. 基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件

    AutoApi 基于SqlKata Query Builder的可根据数据表自动生成Restful API的dotnet中间件 项目地址 Github Gitee 支持的数据库 MySql AutoA ...

  5. mui-手动触发下拉刷新

    mui-手动触发下拉刷新   下拉刷新结束 mui官方文档中下拉刷新结束方法,不生效, 文档地址 1 mui('#refreshContainer').pullRefresh().endPulldow ...

  6. Idea根据表自动生成实体

    Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...

  7. 『动善时』JMeter基础 — 14、使用JMeter发送Post请求

    目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...

  8. Ajax发送简单请求案例

    所谓简单请求,是指不包含任何参数的请求.这种请求通常用于自动刷新的应用,例如证券交易所的实时信息发送.这种请求通常用于公告性质的响应,公告性质的响应无需客户端的任何请求参数,而是由服务器根据业务数据自 ...

  9. 怎样防止重复发送 Ajax 请求?

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:长天之云链接:http://www.zhihu.com/question/19805411/answer/15465427来源 ...

随机推荐

  1. 【Oracle】SCOPE=MEMORY|SPFILE|BOTH

    SCOPE=MEMORY|SPFILE|BOTH 指示了修改参数时的“作用域”: SCOPE=MEMORY :只在实例中修改,重启数据库后此次修改失效. SCOPE=SPFILE :只修改SPFILE ...

  2. MySQL数据库各个版本的区别

    MySQL数据库各个版本的区别 MySQL数据库 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管 ...

  3. BZOJ 1264: [AHOI2006]基因匹配Match DP_树状数组_LCS转LIS

    由于有重复数字,我们以一个序列为基准,另一个序列以第一个序列每个数所在下标为这个序列每个数对应的值. 注意的是,拆值的时候按照在第一个序列中的位置从大到小排,强制只能选一个. 最后跑一边最长上升子序列 ...

  4. NOIP2016 天天爱跑步 线段树合并_桶_思维题

    竟然独自想出来了,好开心 Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r&q ...

  5. vue自己写了一个div菜单,点击按钮展开,点击其他地方关闭这个div菜单

    需求是通过点击body页面,在其他地方就关闭这个<div>菜单,给这个div一个id:problemList,但是点击我打开的按钮,不关闭. created () { document.o ...

  6. 安装Mysql的一些问题,比如Net Connect 卸载不掉,注册表相关操作

    我安装mysql用了一段时间后卸载了,在安装就发现安装不了了,原因就是卸载的时候Net Connetc无法卸载,我试了一个月也没有解决后来百度各种还是没有办法解决.于是就尝试自己手动卸载注册表.在“开 ...

  7. 【JavaScript框架封装】数据类型检测模块功能封装

    数据类型检测封装后的最终模块代码如下: /*数据类型检验*/ xframe.extend(xframe, { // 鸭子类型(duck typing)如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭 ...

  8. ASCII 码对照表

    ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 . 1 SOH 33 ! 65 A 97 a 2 ST ...

  9. 使用python脚本定时备份web网站

    #!/usr/bin/env python #-*- coding: utf-8 -*- import os import time # 备份的指定目录 source = ['/data/www/Ad ...

  10. 自学python 第二天

    1. if基本语句 if 条件: 内部代码块 else: .. . .. . . print(“........”)   if 1 == 1 : print(“a会所”) print(“b会所”) e ...