目录
1、下载mysql-udf-http-1.0.tar.gz
2、安装libcurl,否则会报错
能联网的时候
yum install -y libcurl
无法访问互联网的时候
如果服务器无法联网,可以在官网下载镜像后上传至服务器
官网下载地址 : https://curl.haxx.se/download.html
执行以下命令【缺其他的依赖也可以按照类似方法加载】
//解压
tar -zxvf curl-7.87.0.tar.gz
//进到对应目录
cd /usr/local/curl-7.87.0
//安装
sudo ./configure
sudo make
sudo make install
有可能的报错1
configure: error: select TLS backend(s) or disable TLS with --without-ssl
解决办法:
安装OpenSSL依赖,执行代码
sudo ./configure --with-openssl
3、执行以下代码
//解压
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_config的路径
./configure --prefix=/usr/local/mysql-udf-http --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/plugin
make && make install
可能遇到的问题1
make install的时候可能会报这个错:
libtool: install: warning: remember to run `libtool --finish /usr/local/mysql-udf-http/lib’
解决办法:
libtool --finish /usr/local/mysql-udf-http/lib
./configure --prefix=/usr/local/mysql-udf-http --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/plugin
make && make install
有可能遇到的问题2
ARM架构的mysql使用rpm文件安装,可能没有mysql_config文件
解决办法:
https://blog.csdn.net/weixin_36522099/article/details/107965842
编译成功后,查看mysql-udf-http.so是否在mysql的plugin目录下。
4、创建函数
用mysql -uroot -p连接到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';
5、测试
select CAST(http_get('http://www.baidu.com') AS CHAR CHARACTER SET utf8) as result ;