直接回答:装 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';
|
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镜像怎么启动
My_bool 没有这个类型就用 char代替
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。