从mysql执行系统命令
我试图在mysql中执行shell命令(在mysql的过程、触发器或命令行中) 我已经将lib_mysqludf_sys添加到mysql插件中,并创建了该库可用的函数。(图书馆) 图书馆有5项功能从mysql执行系统命令,mysql,linux,user-defined-functions,ubuntu-12.04,Mysql,Linux,User Defined Functions,Ubuntu 12.04,我试图在mysql中执行shell命令(在mysql的过程、触发器或命令行中) 我已经将lib_mysqludf_sys添加到mysql插件中,并创建了该库可用的函数。(图书馆) 图书馆有5项功能 sys_set-设置$PATH-这可以工作并存储$PATH,我可以稍后检查 sys_get-获取$PATH的存储值-这也起作用并返回我存储的值 sys_exec-在系统中执行命令并返回退出代码 sys_eval-在系统中执行命令并返回标准输出 lib_mysqludf_sys_info-返回库的当前版
sudo apparmor_status
总是给我相同的输出
20 profiles are loaded.
20 profiles are in enforce mode.
/opt/extras.ubuntu.com/unity-lens-askubuntu/unity-askubuntu-daemon
/sbin/dhclient
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//launchpad_integration
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince-thumbnailer//sanitized_helper
/usr/bin/evince//launchpad_integration
/usr/bin/evince//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/connman/scripts/dhclient-script
/usr/lib/cups/backend/cups-pdf
/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper
/usr/lib/telepathy/mission-control-5
/usr/lib/telepathy/telepathy-*
/usr/sbin/cupsd
/usr/sbin/mysqld
/usr/sbin/tcpdump
/usr/share/gdm/guest-session/Xsession
0 profiles are in complain mode.
5 processes have profiles defined.
5 processes are in enforce mode.
/sbin/dhclient (2537)
/usr/lib/telepathy/mission-control-5 (2709)
/usr/sbin/cupsd (12245)
/usr/sbin/cupsd (12250)
/usr/sbin/mysqld (12675)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
请告诉我如何禁用apparmor或更改mysql的配置文件,使其能够执行系统命令
我这样做的原因是,当DB中发生某些事情时(通过DB触发器),我可以执行一个系统命令,如果您有一些其他方法的建议,可以很容易地实现,那么也请提及这些方法
谢谢 成功地使它工作起来。首先将apparmor置于投诉模式以获取必要的配置文件,然后使用apparmor的交互式工具(aa genprof/aa logprof)为mysqld配置配置文件