DROP FUNCTION IF EXISTS lib_mysqludf_sys_info; CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.dll'; select sys_eval('ipconfig');
昨天接到一个需求,要求在mysql的触发器中执行一个外部程序。 一开始没有什么头绪,后来发现嘿嘿。 http://forge./projects/project.php?id=211 有个叫mysqludf的一个东西,用起来还不错。 http://www./lib_mysqludf_sys/index.php 不过这个东西仅仅在linux下试了试,效果还行。 步骤如下: 一、解压附件的压缩包之后 如果不想自己编译的话,把lib_mysqludf_sys.so文件放到 mysql的lib/mysql/plugin/ 目录下。 二、执行chcon -t texrel_shlib_t mysql/lib/mysql/plugin/lib_mysqludf_sys.so 三、创建函数 DROP FUNCTION IF EXISTS lib_mysqludf_sys_info; CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so'; 1、准备sh文件 cd mysqlUDFtest #/bin/sh chmod +x ./test.sh CREATE TABLE test1(a1 INT) type=InnoDB; DROP TRIGGER /*!50032 IF EXISTS */ `test`.`testref`| create trigger `test`.`testref` BEFORE INSERT on `test`.`test1` 3、向test1表中插入一条数据后,检查linux系统中的/mysqlUDFtest目录下testlog |
|
来自: wwwijhyt图书馆 > 《数据库》