2013-08-17 2 views
0

Я использовал lib_mysqludf_sys выполнить следующие программы C++ исполняемый файл в MySQL, я выполнил:Как выполнить внешнюю программу, используя lib_mysqludf_sys, когда происходит ОБНОВЛЕНИЕ?

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

Он вернулся:

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

На самом деле в моем ins_data исполняемый файл я вставил новую строку, чтобы MySQL, но после выполнения этого он не вставляет новую строку.

Я не понимаю, какой результат он возвращает, я использую программу коннектора C++ для вставки новой строки.

+0

Может ли это быть код ошибки? Вероятно. Если у вас есть доступ к исходному коду 'ins_data', вам, вероятно, придется добавить еще одну проверку исключения, чтобы отследить проблему до ее источника. –

ответ

0


AppArmor ограничивает выполнение вашей функции UDF.
Это остановит AppArmor
$ 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

Смежные вопросы