и это работало гладко.

трял. Я в основном хочу создать файл данных LOCAL (файл CSV) из удаленной базы данных с помощью команды OUTFILE.

Я, в основном, извлекаю данные ... и хочу создать их на моем локальном файловом сервере, а не создавать файлы на удаленном сервере. Я ограничен в пространстве удаленно, поэтому я хочу создать файл локально. Что мне не хватает, как это сделать? Спасибо!

Это мой рабочий синтаксис до сих пор в командной строке (он создает файл, который я хочу, но на удаленном сервере)

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 INTO OUTFILE '/tmp/mytest.csv' FIELDS TERMINATED BY ','  FROM tst_p000 limit 10"
 jdamae20 янв. 2011 г., 05:54
запустив эту команду на локальном сервере. все мои ключи SSH работают должным образом. я могу получить его, чтобы сбросить файл, но его на удаленном сервере. теперь я вижу, что OUTFILE является локальным по отношению к серверу БД.
 ajreal20 янв. 2011 г., 05:38
я не думаю, что это выполнимо, у вас есть SSH логин на сервер базы данных?
 Raghuram20 янв. 2011 г., 05:28
Вы запускаете эту команду на удаленном сервере или на локальном сервере?

Ответы на вопрос(1)

Решение Вопроса

MySQL Выбрать синтаксис, Вы не можете использовать OUTFILE для вывода в файл за пределами самого сервера.

Вам нужно будет преобразовать вывод запроса с разделителями табуляцией в формат CSV следующим образом (Команда sed зачислена здесь).

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 " | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > myDump.csv
 jdamae20 янв. 2011 г., 05:57
сладкий! хороший трюк Я хотел бы быть хорошим с седом. работает как шарм. Спасибо за вашу помощь!
 Shiva08 мар. 2018 г., 11:33
Отличный ответ, спасибо! Я не хотел, чтобы поля были заключены в кавычки, поэтому я изменил аргументы наsed вs/\t/,/g и это работало гладко.
 jdamae20 янв. 2011 г., 05:59
Можете ли вы рассказать о синтаксисе sed? еще раз спасибо!
 Adam Prax20 янв. 2011 г., 06:07
Изображение команды sed разделено на четыре части, каждая из которых разделена точкой с запятой. Первая часть команды sed заменяет каждую вкладку на «,» (включая кавычки). Вторая часть заменяет все начальные строки двойными кавычками. Третья часть заменяет все конечные строки двойными кавычками. Последняя часть удаляет все новые строки из запроса.

Ваш ответ на вопрос