我需要从触发器调用外部脚本来拦截数据库中的每个插入.
这是因为我不能轮询这个值,我正在编写一个带有ARM架构的嵌入式系统,只有250MB的RAM.
触发器是正确的选项,触发器的代码运行良好,我得到:
FUNCTION mydb.sys_exec does not exist (MySQL error code: 1305, SQLState: 42000 )
但它让我:
ERROR: You need libmysqlclient development software installed
to be able to compile this UDF, on Debian/Ubuntu just run:
apt-get install libmysqlclient15-dev
所以,如果我输入
sudo apt-get install libmysqlclient15-dev
我明白了:
????注意,选择’libmysqlclient-dev’而不是’libmysqlclient15-dev’
当然它不是正确的包装,因为它不起作用.
git中包含的.so文件是为intelx86编译的.
有人有想法吗?
在git中编译.c是非常不可能的,因为很多缺少依赖项.
或..如何在没有sys_exec的情况下从触发器执行外部脚本?
PS:为了完整性,这是触发器脚本:
DELIMITER @@
CREATE TRIGGER command_controller
AFTER INSERT ON myDB.foo
FOR EACH ROW
BEGIN
DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd='./foo ';
SET result = sys_eval(cmd);
END;
@@
DELIMITER ;