直接回答:装 MySQL 的 UDF 插件要先确认三样东西:mysql_config 存在、有 make/gcc、有匹配版本的开发头文件;缺哪一个都会在编译阶段报错。

安装udf插件需要做的几个前置操作

先看有没有mysql_config

1
whereis mysql_config #用来查找,如果找不到,就安装
1
2
3
4
5
apt-get install mysql-server  #安装mysql
apt-get install make #必须安装
apt-get install gcc #必须安装
apt-get install libmysqlclient-dev #用来解决找不到mysql_config
apt-get install pkg-config #不知道什么作用,避免出错,装上吧

参考页面:GitHub - y-ken/mysql-udf-http: fork of MySQL User-defined function (UDF) for HTTP REST

安装mysql-devel

这里的操作也是为了解决找不到mysql_config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#centos系统使用yum安装 mysql-devel

yum install mysql-devel

#ubuntu 系统apt-get 安装libmysqlclient-dev

apt-get update
apt-get upgrade
apt-get install libmysqlclient-dev

#debian 系统

apt install -y libmariadbd18
apt install -y libmariadbd-dev

mysql镜像里的插件存放地址在

1
:/usr/lib64/mysql/plugin
1
2
gcc $(/usr/bin/mysql_config --cflags) -shared -fPIC -o lib_mysqludf_json.so lib_mysqludf_json.c
cp lib_mysqludf_json.so /app/mysql/mysqlbase/ykgis_3306/lib/plugin/

查询的方法

1
SHOW VARIABLES LIKE 'plugin_dir';

mysql开启函数功能

1
2
3
4
5
6
7
8
9
10
11
12
输入 show variables like '%func%'; 命令

会看到 log_bin_trust_function_creators 的状态,如果是OFF表示自定义函数功能是关闭的

输入命令 set global log_bin_trust_function_creators=1;

可将 log_bin_trust_function_creators 开启自定义函数功能

但是这样设置是一个临时的方案,因为mysql自动重启后状态又会变为OFF,所以需要在

在服务启动时加上 “--log-bin-trust-function-creators=1 ”参数。
或在my.ini(my.cnf)中的[mysqld]区段中加上 log-bin-trust-function-creators=1。

查询数据里都有什么方法

1
select * from mysql.func;

ubuntu 里的mysql镜像怎么启动

1
/etc/init.d/mysql start

My_bool 没有这个类型就用 char代替

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!