DB へのすべての挿入をインターセプトするには、トリガーから外部スクリプトを呼び出す必要があります。これは、その値をポーリングできないためです。ARM アーキテクチャと 250MB の RAM しかない組み込みシステム用にコーディングしています。トリガーは適切なオプションであり、トリガーのコードはうまく機能します。
FUNCTION mydb.sys_exec does not exist (MySQL error code: 1305, SQLState: 42000 )
だから私はこれをインストールしようとしました: https ://github.com/mysqludf/lib_mysqludf_sys
しかし、それは私を取得します:
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
私は得る:「libmysqlclient15-dev」の代わりに「libmysqlclient-dev」を選択することに注意してください
もちろん、それは機能しないため、適切なパッケージではありません。git に含まれる .so ファイルは intelx86 用にコンパイルされています。
誰にもアイデアがありますか?git で .c をコンパイルすることは、多くの依存関係が欠落しているため、まったく不可能です。
または..sys_execなしでトリガーから外部スクリプトを実行するにはどうすればよいですか?
PS: 完全を期すために、これはトリガー スクリプトです。
区切り記号 @@
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 ;