如何将mysql输出重定向到文件?

sg3maiej  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(825)

当我在mysql工作台中运行任何select或update查询时,它显示

或返回的行数。
在我的剧本里,我用 mysql -u user -h ip db -se"select * from.." 我试过重定向 mysql 输出:

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

但它只显示错误消息,而不是成功运行时显示的消息。
它不显示 27 row(s) returned . 因此,在这种情况下,我无法检查是否有任何update语句、select或过程成功运行。
如何获得成功运行的输出?

mfuanj7w

mfuanj7w1#

您可以使用 INTO OUTFILE 如mysql文档所示

nhaq1z21

nhaq1z212#

我找到了一个解决办法 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

相关问题