1

这可能是一个简单或极其复杂的问题,搜索没有产生任何结果。

我在 OSX 上使用 Sequel Pro 来运行很多查询,其中一些可能需要花费,例如 >8 小时。然而,很多时候我无法预测一份工作需要多长时间。我想知道在一般的 MySQL、OSX、MySQLWorkBench 或 Sequel Pro 中是否有办法设置弹出警报/电子邮件/任何在查询完成时提醒我的方法。这听起来像是一个奇怪的要求,但当我的工作在后台运行时,知道我喜欢做其他任务会非常有帮助。我很清楚这可能是不可能的。

任何见解将不胜感激,

4

1 回答 1

3

只是给你一个想法。由于您使用的是 Mac,您可以使用它osascript来生成这样的弹出窗口

$ osascript -e 'tell app "System Events" to display dialog "Hello World" buttons "OK" default button 1'

现在您可以创建一个简单的脚本来执行您的 sql 作业。让我们称之为mysqlnotify

#!/bin/bash
/usr/local/mysql/bin/mysql -uusername -puserpassword dbname < $1 > $2
/usr/bin/osascript -e 'tell app "System Events" to display dialog "Your SQL job has finished" buttons "OK" default button 1 with title "mysqlnotify"'

使其可执行

$ chmod +x ./mysqlnotify

然后在您最喜欢的编辑器/IDE(Sequel Pro、MySQL Workbench、TextMate 等)中创建您的 SQL 查询并将其保存到文件中。让我们称之为sleep.sql

SELECT 'Your results', SLEEP(5) FROM dual;

要执行您的查询,请打开一个新的终端窗口并执行

$ /path/to/mysqlnotify sleep.sql sleep.txt

查询完成后,您将看到一个弹出窗口

+----------------------------+
| mysql通知 |
+----------------------------+
| 您的 SQL 作业已完成 |
| |
| | 好的 | |
+----------------------------+

您的查询结果将保存在sleep.txt

于 2013-10-10T05:15:55.607 回答