首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql执行系统命令

从mysql执行系统命令
EN

Stack Overflow用户
提问于 2012-07-07 15:36:57
回答 1查看 2.3K关注 0票数 1

我试图从mysql内部执行一个shell命令(在mysql的过程、触发器或命令行中)。

我将lib_mysqludf_sys添加到mysql插件中,并创建了库中可用的函数。(图书馆) 主页

图书馆有5个功能。

  1. sys_set -要设置$PATH,这可以工作并存储$PATH,稍后我可以检查它。
  2. sys_get -要获取$PATH的存储值,这也可以工作,并返回我存储的值。
  3. sys_exec -在系统中执行一个命令并返回退出代码。
  4. sys_eval -在系统中执行命令并返回标准输出。
  5. lib_mysqludf_sys_info -返回库的当前版本--这也有效。

我需要sys_exec和sys_eval正确地工作。

我想我在我的搜索中发现了问题,但无法解决。

mysql受到仪表器的限制,默认设备配置文件没有授予它执行系统命令的权限。我已经尝试了文档中的命令来禁用单个配置文件,禁用框架,将除一个之外的所有配置文件都置于强制模式中,并将所有配置文件置于抱怨模式中。毫无办法。命令

代码语言:javascript
复制
sudo apparmor_status

总是给我同样的输出。

代码语言:javascript
复制
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.

请告诉我如何禁用设备或更改mysql的配置文件,以便它能够访问执行系统命令。

我这么做的原因是,当DB中发生某些事情(通过DB触发器)时,我可以执行一个系统命令,如果您有其他一些方法可以轻松地实现这一点,那么请也提到这些。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 18:41:58

设法让这件事奏效了。首先将设备置于对所需配置文件的抱怨模式中,然后使用设备的交互工具(aa-genprof/aa-logprof)为mysqld配置配置文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11376308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档