如何在发生UPDATE时使用lib_mysqludf_sys执行外部程序

How to execute an external program using lib_mysqludf_sys when an UPDATE happens?

本文关键字:mysqludf lib sys 执行 程序 外部 UPDATE      更新时间:2023-10-16

我使用lib_mysqludf_sys在MySQL中执行以下C++程序可执行文件,我执行了:

mysql> SELECT sys_exec('/home/eden/Desktop/ins_data');

它返回:

sys_exec('/home/eden/Desktop/ins_data')
32512

事实上,在我的ins_data可执行文件中,我在MySQL数据库中插入了一个新行,但在执行之后,就不会插入任何新行。

我不知道它返回的是什么输出,我正在使用C++连接器程序插入新行。


AppArmor限制UDF函数的执行。
这将阻止幻影
$ sudo /etc/init.d/apparmor stop
这将禁用mysql配置文件
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld