Как перенаправить вывод MySQL в файл? - PullRequest
0 голосов
/ 24 сентября 2018

Когда я запускаю любой запрос выбора или обновления в MySQL Workbench, он показывает либо

enter image description here, либо количество возвращенных строк.

В моем сценарии яиспользуйте mysql -u user -h ip db -se"select * from.."

Я попытался перенаправить вывод mysql:

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

, но он показывает сообщение только для ошибки, а не при успешном запуске.

Не отображается27 row(s) returned.Поэтому в этом случае я не смог проверить, успешно ли выполняется какой-либо оператор обновления, выбор или процедура.

Как я могу получить вывод, который работает успешно?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Я нашел решение, в опциях 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
0 голосов
/ 24 сентября 2018

Вы можете сделать это с помощью запроса, используя INTO OUTFILE, как показано в документации mysql

...