问题描述
- 关于mysql UDF函数库执行无效问题
-
项目里打算对Mysql数据库中某一张表做监控,当表中插入数据是调用linux系统的shell脚本,所以在mysql中写自定义函数调用操作系统命令,在网上找到了相关的UDF包(lib_mysqludf_sys_0.0.3.rar)
看到网上有人使用,说没问题,比如这样一篇:http://blog.csdn.net/cnbird2008/article/details/4922078。
但是我使用过后,里面的方法有2个主要的没法用,比如这个___ _select sys_exec('/root/test/testExcute.sh');执行这个语句mysql> select sys_exec('/root/test/testExcute.sh');
+--------------------------------------+
| sys_exec('/root/test/testExcute.sh') |
+--------------------------------------+
| 32256 |
+--------------------------------------+
1 row in set (0.02 sec)
而实际上脚本testExcute.sh根本没运行
返回32256 ,看了下实现的源代码,这个里面似乎主要调用了C中system(),
不知道问题具体出现在哪儿?
解决方案
问题已解决,原因是操作系统的SELinux的原因,我把他关闭,重启了下操作系统,就可以了
解决方案二:
操作系统Linux ,Mysql版本 mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1
解决方案三:
先看sh有没有调用到,然后局势里面具体什么命令调用出错了。
时间: 2024-12-23 00:31:57