MySQL Lamp в Localhost Outfile из удаленной базы данных
-
13-10-2019 - |
Вопрос
Я застрял. Я в основном хочу создать локальный файл данных (файл CSV) из удаленной базы данных, используя команду Outfile.
Я в основном, вытягиваю данные .. и хочу создать их на моем локальном сервере файлов, а не создание 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"
Решение
Согласно MySQL Select Syntax, Вы не можете использовать 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
Не связан с StackOverflow