从MySQL客户端执行shell命令?

时间:2009-05-30 08:33:52

标签: mysql shell

在oracle数据库中,命令“host”可用于从数据库命令窗口运行bash命令。在mySql中是否有与“host”等效的命令?

5 个答案:

答案 0 :(得分:14)

您可以使用system命令。

  

系统命令,\!命令

     

使用你的执行给定的命令   默认命令解释器。

     

系统命令仅适用于Unix。

示例:

system ls -l

答案 1 :(得分:2)

我在Linux上运行5.0.95-log版本。通过“system”或“!”来命令命令。适用于“pwd”和“ls -l”命令。如果我尝试使用例如

更改目录

的MySQL> system cd / home / mydir

命令似乎被接受了。但这显然没有做任何事情,因为跟随“pwd”和“ls -l”命令表明我仍然在同一目录中。因此,似乎内置了一个功能有限的存根,但我们实际上并没有完全访问系统shell。

答案 2 :(得分:1)

实际上可以通过使用MySQL Proxy在客户端连接上运行mysqld的服务器上执行shell命令(而不是在本地客户端计算机上执行命令)(向下滚动到“来自MySQL客户端的Shell命令”) “部分)。

答案 3 :(得分:0)

作为一个额外的调整,在大多数"' nix"系统你可以实际做这样的事情:

mysql> system bash

让整个终端随时待命。如果您在与MySQL接口的终端中进行代码工作,这将特别有效;从shell中输入"退出"将带你回到MySQL监视器/客户端,这样你就可以很容易地来回走动。

显然,其他shell(" mysql>系统tcsh")也可以正常工作。

答案 4 :(得分:-1)

在Linux机器上,您应该可以使用以下示例

  1. !清除 - 清除屏幕
  2. ! ls - 列出当前工作目录中的文件
  3. 基本上,您应该能够使用该语法运行任何命令或脚本
  4. 注意:之前添加反斜杠!