【问题标题】:non-production MySQL query/UDF that triggers a bash command触发 bash 命令的非生产 MySQL 查询/UDF
【发布时间】:2012-05-22 09:25:38
【问题描述】:

如何创建一个 MySQL 查询/脚本来触发 bash 命令并在完成后完成?

这是我的想法:

  1. 制作一个 bash 守护程序,它将监视 MySql 表并在更改时执行命令
  2. 使用 bash 脚本在完成时更新表,并使用 MySQL 脚本修改表休眠/循环,直到它发生

这可能吗?还是有更好的方法?
我想制作这个 sql 脚本,以便可以将它合并到 Navicat MySQL-MSSQL Batch 作业中


更新:
这不是生产服务器或公共服务器,我只是将它用于数据过滤,所以如果我可以引入 UDF 或更改服务器以执行 shell 命令就可以了,只要它可以使用远程 CLI 触发即可。

【问题讨论】:

  • 你知道SSIS吗?也许这也可以做你想要实现的。
  • 我听说过,但我没有找到任何关于在远程 MySQL 服务器上运行 linux 脚本的信息

标签: mysql linux bash user-defined-functions navicat


【解决方案1】:

您可以使用 mysql 脚本执行 shell 命令!外壳命令。或者您可以创建一个包含 mysql 命令的 shell 脚本。两者都适合你。

【讨论】:

  • "用你的 mysql 脚本执行 shell 命令和 !shell 命令" ?请改写或举例。另外,如果我只在 Linux 服务器上工作,我不会问,但查询是由 Navicat 批处理作业远程执行的(navicat 是一个 windows MySql 和 MSSQL 客户端)
  • Mysql shell 转义字符是 !,您可能必须使用 \!,它允许您在 mysql 脚本中转义到 shell。一个例子是'\! ls' 在 unix 和 '\! dir' 在 Windows 中。
  • 很遗憾,system OR \! 不适用于 MySQL CLI,它仅适用于安装在服务器上的 cmd 工具。
猜你喜欢
  • 1970-01-01
  • 2019-01-08
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-28
  • 1970-01-01
  • 2021-03-04
相关资源
最近更新 更多