Есть ли способ запустить скрипт удаленной оболочки на AWS MySql / Aurora, который ссылается на удаленные файлы sql - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь запустить сценарий инициализации в базе данных AWS MySQL, я смог запустить тот же сценарий на локальном экземпляре MySQL, но не при попытке его выполнить на удаленном экземпляре.Это команда, которую я запускаю из каталога, в котором есть и сценарий оболочки, и файлы ресурсов sql:

mysql -u user -p -h endpoint123.us-east-1.rds.amazonaws.com -P 3306

И после ввода в мой пароль получить следующую ошибку:

ОШИБКА 1064 (42000) в строке 15: у вас есть ошибкав вашем синтаксисе SQL;обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом [строка, ссылающаяся на файлы SQL]

В основном скрипт ссылается на локальные файлы sql, которые также необходимы для завершения установки.Насколько я знаю, невозможно скопировать эти файлы на компьютер AWS RDS.Есть ли способ решить эту проблему, чтобы скрипт оболочки мог работать правильно?Либо путем копирования файлов поверх, либо путем запуска сценария оболочки удаленно?Заранее спасибо!

1 Ответ

0 голосов
/ 05 февраля 2019

Похоже, что вы хотите передать вывод скрипта в mysql.Синтаксис, который вы используете, предназначен для выполнения сценария mysql (sql), а НЕ для вывода сценария оболочки.Вам нужно сделать что-то вроде этого:

./script.sh | mysql -u abc -p -e

ИЛИ, в два этапа:

./script.sh > out.sql  // To verify that the generated statements are correct
mysql -u abc -p -e < sql 
...