c-关于mysql UDF函数库执行无效问题

问题描述

关于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

c-关于mysql UDF函数库执行无效问题的相关文章

mysql使用什么函数来执行mysql语句

  mysql使用什么函数来执行mysql语句 定义和用法 mysql_query() 函数执行一条 MySQL 查询. 语法 mysql_query(query,connection)参数 描述 query 必需.规定要发送的 SQL 查询.注释:查询字符串不应以分号结束. connection 可选.规定 SQL 连接标识符.如果未规定,则使用上一个打开的连接. 说明 如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之. 返回值 mysql

MySQL UDF的调试方式 - debugview

debug|mysql MySQL UDF的调试方式 MySQL的UDF实质就是一个不需要设置入口点的动态连接库(*Nix称之为共享库).对于DLL的调试可谓个人有个法.现在我介绍一下一个非常简单的易用的调试方法.这一方法直接利用Windows API,语言无关.开发工具无关.项目类型无关,典型的三无调试方法.并且,我们从这里讨论的调试方法支持远程调试,对于一时无法掌握开发工具原本调试器而又急于寻找程序错误的朋友此方法非常实用! 首先我们需要下载接收端,当然有心人也可以自己写一个.在 http:

动态网页技术PHP的数组处理函数库

array :  建立一个新的数组.  array_walk :  让用户自订函数能处理数组中的每一个元素.  arsort :  将数组的值由大到小排序.  asort :  将数组的值由小到大排序.  count :  计算变量或数组中的元素个数.  current :  返回数组中目前的元素.  each :  返回数组中下一个元素的索引及值.  end :  将数组的内部指针指到最后的元素.  key :  取得数组中的索引资料.  ksort :  将数组的元素依索引排序.  list

MYSQL 创建函数出错的解决方案

本文转自IT摆渡网欢迎转载,请标明出处 更多mysq文章请阅读 mysql问题错误修改 在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考. 案例一: 目前在项目中,执行创建mysql的函数出错, mysql 创建函数出错信息如下: Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this o

PHP PDO函数库详解_php技巧

目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->beginTransaction() - 标明回滚起始点PDO->commit() - 标明回滚结束点,并执行SQLPDO->__construct() - 建立一个PDO链接数据库的实例PDO-&

MYSQL 创建函数出错的解决方案_Mysql

在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考. 案例一: 目前在项目中,执行创建mysql的函数出错, mysql 创建函数出错信息如下: Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation 首先检查创建函数的功能是否开启,检查是否开启创建功能的SQL如下: -

WAMP环境中扩展oracle函数库(oci)_php实例

同事昨天接到一个任务,要用php处理oracle数据库的内容,但是php打开oracle扩展不是像mysql那样直接用就行,需要下一点东西才能打开 第一步 需要到oracle官方下载一个install client 包,在win下找到你对应系统版本的zip(注意这里是系统版本) 截止到2015-06-25,下载地址如下http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 例如选择

MySQL rand函数实现随机数的方法_Mysql

需要测试MYSQL数据库,里面有一个上万条数据的数据库,如何写一个PHP文件一下每次更新几百条信息,我都是写一个循环一次更新一条信息,这样我知道用WHILE写就可以了,要是一次更新好比100条数据改如何写呢!正确答案是使用MySQL rand函数:UPDATE cdb_posts SET views = rand();顺便给你找了点关于mysql rand函数的实例,如下:那就在insert 命令中,value()里面用rand(),注意字段宽度是否够一直以为mysql随机查询几条数据,就用SE

MySQL 数据库函数库_Mysql

本函数库供存取 MySQL 数据库.有关 MySQL 的细节,及下载 MySQL 数据库,请到这个网址 http://www.mysql.com .而网络上也有许多提供处理 MySQL 的用户界面程序,建议到 http://www.phpwizard.net/phpMyAdmin 下载 phpMyAdmin,可以使用浏览器操作及管理 MySQL.整套 phpMyAdmin 程序,是用 PHP3 完成的,亦可同时研究 PHP3 与 MySQL 的链接. mysql_affected_rows: 得