Используйте LOAD DATA INFILE и SELECT INTO OUTFILE в облачном SQL - PullRequest
0 голосов
/ 07 мая 2019

Я тестирую Google Cloud SQL, и мне нужно проверить инструкции LOAD DATA INFILE и SELECT...INTO OUTFILE.

Я понял, что вместо LOAD DATA INFILE можно использовать инструкцию LOAD DATA LOCAL INFILE, но как это сделать?это может быть использовано в Cloud SQL?

Можно ли использовать инструкцию SELECT...INTO OUTFILE как есть?

Спасибо Рензо за ваш ответ, но когда я пытаюсь выполнить инструкцию SELECT .. INTO OUTFILE, когдаЯ подключен к экземпляру Cloud SQL и получаю следующее сообщение об ошибке:

ОШИБКА 1045 (28000) в строке 1: доступ запрещен для пользователя 'root' @ '%'

Я пыталсяиспользовал инструкцию LOAD DATA LOCAL INFILE с моего компьютера, подключенного к экземпляру Cloud SQL на MySQL, и это сработало.Я использовал файл, расположенный на моем компьютере, чтобы успешно импортировать данные CSV в таблицу.Но мне интересно, могу ли я использовать файл, присутствующий в корзине, чтобы сделать то же самое ...

Я пытаюсь объяснить, что мне нужно сделать:

Мы переносим наш веб-сайт в GCPApp Engine / Облачный SQL.Мы широко используем обе инструкции LOAD DATA INFILE, которые выбирают файлы из папки "ftp", чтобы загрузить их в базы данных.Кроме того, мы используем SELECT INTO OUTFILE для экспорта данных в файлы CSV в папку на нашем веб-сайте.Поэтому меня беспокоит возможность использования одного и того же процесса в App Engine / Cloud SQL.

Разница в том, что экземпляр веб-сайта и экземпляр базы данных разделены в GCP.Должны ли мы использовать ведра в GCP для замены наших папок?Или мы должны вместо этого создавать папки на экземпляре App Engine / Cloud SQL?Какое лучшее решение по вашему мнению?

Заранее спасибо

1 Ответ

1 голос
/ 08 мая 2019

По данным о Импорт данных в облачный SQL ,

вы также можете использовать оператор LOAD DATA LOCAL INFILE в клиенте mysql , который загружает локальный файл в базу данных

Вы можете выполнить примеры шагов по этой ссылке , чтобы запустить mysql клиент , сначала подключившись к своему экземпляру Cloud SQL через Cloud Shell. После подключения вы сможете выполнить инструкцию импорта: LOAD DATA LOCAL INFILE.

Для экспорта можно применить те же шаги, а синтаксис SELECT...INTO OUTFILE можно использовать как есть. Вместе с другими альтернативами это также можно найти в Экспорт данных из Cloud SQL :

Экспорт в формате CSV эквивалентен выполнению следующего оператора SQL:

SELECT <query> INTO OUTFILE ... CHARACTER SET 'utf8mb4'
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
        ESCAPED BY '\\' LINES TERMINATED BY '\n'

После того, как вы выполнили операции, также желательно проверить их статус , особенно если он выполняется долго или произошла ошибка.

...