一、安装Mysql
1.查看是否安装
sudo netstat -tap | grep mysql
2.安装
sudo apt-get update
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
备注:安装了libmysqlclient-dev以后,在mysql安装目录下/usr/bin才会有mysql_config配置文件。
3.测试是否安装成功
sudo netstat -tap | grep mysql
备注:
此时mysql的安装目录为:/usr/bin
mysql插件的目录(可以登陆mysql以后使用命令show variables like ‘%plugin%’;查看)
我的为:/usr/lib/mysql/plugin
二、安装libcurl
sudo apt-get install libcurl4-openssl-dev
三、安装mysql-udf-http
1.下载
我这里的版本是mysql-udf-http-1.0.tar.gz
2.解压
3.配置
./configure --prefix=/usr/local/mysql-udf-http --with-mysql=/usr/bin/mysql_config
备注:
其中–prefix是你安装mysql-udf-http指定的安装目录,–with-mysql是你安装的mysql目录下的mysql_config文件所在位置。
4.安装
sudo make
sudo make install
5.添加软链
sudo ln -s /usr/local/mysql-udf-http/lib/mysql/plugin/mysql-udf-http.so.0.0.0 /usr/lib/mysql/plugin/mysql-udf-http.so
6.将安装好的插件拷贝到mysql的插件目录下
sudo cp /usr/local/mysql-udf-http/lib/mysql/plugin/mysql-udf-http.so.0.0.0 /usr/lib/mysql/plugin/mysql-udf-http.so
五、使用mysql-http-udf
1.创建自定义函数
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';
2.创建测试表
SET NAMES UTF8;
USE test;
CREATE TABLE IF NOT EXISTS `udf_test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`ip` varchar(255) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
3.创建触发器
DELIMITER |
DROP TRIGGER IF EXISTS udftest_insert;
CREATE TRIGGER udftest_insert
-- AFTER INSERT ON udftest
AFTER INSERT ON udf_test
FOR EACH ROW BEGIN
SET @tt_resu = (SELECT http_get(CONCAT('[your-url]')));
END |
DELIMITER ;
4.测试
在udf_test表中插入一条数据:
insert into udf_test (ip) VALUES ('192.168.1.1');
观察是否收到http请求。
项目网址:https://code.google.com/archive/p/mysql-udf-http/