首页 > 解决方案 > 如何将mysql输出重定向到文件?

问题描述

当我在 mysql 工作台中运行任何选择或更新查询时,它会显示

在此处输入图像描述或返回的行数。

在我的脚本中,我使用mysql -u user -h ip db -se"select * from.."

我试过重定向mysql输出:

./script.sh >> script.log 2>&1

但它仅在成功运行时显示错误消息。

它没有显示27 row(s) returned。所以在那种情况下,我无法检查任何更新语句、选择或过程是否成功运行。

如何获得成功运行的输出?

标签: mysqlbashmysql-workbench

解决方案


我在 的选项中找到了解决方案mysql

像这样运行它:

mysql -u USER -h HOST -p PORT --password -vv -se "YOUR QUERY" >output.txt 2>errors.txt

添加-vv参数将为您提供受影响的行数。 -vvv还将告诉您运行查询花费了多少时间。

例如:我运行了这个:

mysql -u Nic3500-h localhost -P 3306 --password -vv -se "INSERT INTO stackoverflow.activity (activity_id, activity_name) VALUES ('10', 'testtest');" >output.txt 2>&1

output.txt 是:

-------------- 
INSERT INTO stackoverflow.activity (activity_id, activity_name) VALUES ('10', 'testtest')
--------------

Query OK, 1 row affected

Bye

推荐阅读