Экспортирование таблицу из Amazon RDS в файл CSV

У меня есть mysql база данных, работающая на Amazon RDS, и я хочу знать, как экспортировать всю таблицу в формат CSV. Я в настоящее время использую mysql сервер в Windows для запросов базы данных Amazon, но когда я пытаюсь выполнить экспорт, я получаю ошибку, вероятно, потому что нет никакого выделенного файлового сервера для амазонки RDS. Там какое-либо решение к этому?

58
задан 2 March 2012 в 20:24

1 ответ

MySQL Assuming в RDS, альтернатива должна использовать пакетный режим, какие выводы РАЗДЕЛЕННЫЕ ОТ ВКЛАДКИ значения и выходят из новых строк, вкладок и других специальных символов. Я еще не ударил инструмент импорта CSV, который не может обработать РАЗДЕЛЕННЫЕ ОТ ВКЛАДКИ данные. Так, например:

$ mysql -h myhost.rds.amazonaws.com -u user -D my_database -p --batch --quick -e "SELECT * FROM my_table" > output.csv

, Как отмечено Halfgaar выше, --quick сбросы опции сразу так избегает ошибок из памяти для больших таблиц. Для заключения в кавычки (рекомендуемых) строк необходимо будет сделать немного дополнительной работы в запросе:

SELECT id, CONCAT('"', REPLACE(text_column, '"', '""'), '"'), float_column
  FROM my_table

REPLACE Escape любые символы двойной кавычки в text_column значения. Я также предложил бы использовать строки iso8601 для полей даты и времени, таким образом:

SELECT CONCAT('"', DATE_FORMAT(datetime_column, '%Y%m%dT%T'), '"') FROM my_table

знать, что CONCAT возвращает ПУСТОЙ УКАЗАТЕЛЬ, если у Вас есть ПУСТОЕ значение столбца.

я выполнил это на некоторых довольно больших таблицах с разумной производительностью. 600M строки и данные на 23 ГБ заняли ~30 минут при выполнении команды mysql в том же VPC как экземпляр RDS.

0
ответ дан 1 November 2019 в 14:23

Другие вопросы по тегам:

Похожие вопросы: