【问题标题】:MySQL: Redirect ouput to logfile from SQL scriptMySQL:将输出重定向到 SQL 脚本的日志文件
【发布时间】:2013-01-11 18:44:25
【问题描述】:

我想从 mysql 命令行工具执行一个 SQL 脚本文件,比如

mysql database < script.sql

其中脚本 script.sql 包含将输出重定向到文件的语句。

我认为这应该可以通过将 tee 放入脚本中,如下所示:

tee script.log;

SELECT sysdate() AS "Start" FROM dual;
UPDATE table SET column = 'off';
COMMIT;

很遗憾,这不起作用,没有 script.log 出现。

是否有可能将输出从脚本本身重定向到文件?

用例:这些脚本将在部署应用程序时由我们的服务部门执行。他们希望以尽可能少的步骤和努力来执行脚本,因此在命令提示符末尾放置重定向 (> script.log) 不是一个真正的选择,至少如果他们必须一次执行一堆脚本。

提前致谢, 迈克尔

【问题讨论】:

    标签: mysql logfile


    【解决方案1】:

    使用 OUTFILE 作为 SELECT 本身的一部分,如下所示: SELECT * FROM myTable INTO OUTFILE '/path/to/file.log'。此外,对于假脱机,请检查 What is the equivalent of the spool command in mysql

    【讨论】:

    • SELECT INTO OUTFILE 仅适用于 SELECT,并尝试在 MySQL 服务器上创建文件。这行不通,我很害怕。
    • 感谢您的链接,这是通常的解决方案,但不适合用例。无论如何,我想我必须为服务部门提供一个薄包装 scipt...
    猜你喜欢
    • 2019-08-21
    • 2020-05-28
    • 2014-11-08
    • 2020-02-11
    • 2016-10-07
    • 2019-03-20
    • 1970-01-01
    • 2020-11-17
    • 2022-09-23
    相关资源
    最近更新 更多