Как установить дамп базы данных через Shell Script?

У меня есть дамп базы данных Mysql. Я хочу установить его с помощью Hudson через Shell Script на внешнюю машину Linux.

Как вы можете взять сценарий Mysql и запустить его в базе данных на другой машине? Я знаю, что могу передавать файлы с помощью sftp и использовать ssh при обращении к другим машинам вручную, но как автоматизировать все это до простого сценария оболочки?

One Solution collect form web for “Как установить дамп базы данных через Shell Script?”

$ mysql -p$pass -u$user -h$otherhost $db < dumpfile 

Это предполагает, что dumpfile – это текст из mysqldump , содержащий исходные SQL- dumpfile .

Важно, чтобы между -p и паролем не было пробела. (Я предполагаю, что вы хотите автоматический вход в систему.) Если пароль не сразу следует за -p , mysql интерпретирует этот параметр как смысл, который он должен запрашивать в интерактивном режиме для пароля, и рассматривает отдельный аргумент пароля как имя базы данных.

Чтобы это работало, $user должен иметь разрешение на вход в систему, удаление таблицы, создание таблицы и вставку строк в эту таблицу, все как удаленный пользователь. MySQL поддерживает отдельные удаленные и локальные разрешения для пользователей, поэтому это легкая ловушка. Поскольку для удаленного пользователя такая мощь является угрозой безопасности, вы можете использовать SSL ( --ssl* options) с mysql . В противном случае я не знаю, что я разрешу удаленному пользователю делать такие вещи.

  • как проверить, установлены ли оба параметра в bash?
  • Разделить вход для другой команды и объединить результат
  • Как распечатать каждую другую строку на мониторе
  • Как вставить строки из одного файла в другой файл с помощью команд оболочки?
  • Как запустить скрипт оболочки, содержащий команду awk
  • wget-файл, протоколирование вывода и отображение вывода в командной строке
  • Выполнить скрипт оболочки после успешного соединения с сервером
  • Функция, вызывающая другую функцию со списком аргументов, не работает
  • linux / solaris + обработка стандартного вывода
  • linux pgrep, исключив конкретного пользователя
  • Необходимо декодировать эту строку {$ HOSTNAME ^^} == {$ arrName ^^}
  • Linux и Unix - лучшая ОС в мире.