Удаленная установка mysql застряла

Я записал сценарий для установки некоторого набора пакетов к списку серверов. Когда я выполняю сценарий mysql, установка застряла в, "вводят пароль root" раздел. Есть ли что-нибудь, что я должен изменить в своем сценарии? Совет я.

Там какой-либо путь состоит в том, чтобы передать mysql пароль root через сам сценарий?

#!/usr/bin/env bash
Servers_list=/opt/servers_list
for Host in $(< $Servers_list )
do
echo "Installing package on $Host"
#ssh "${Host}" apt-get -y install "${PackageName}"
ssh "${Host}" apt-get update $$ apt-get -y install apache2 apache2-doc apache2-utils mysql-server
done

The password screen is different and it stuck here

The usual password config window for mysql setup

1
задан 28 July 2017 в 02:15

1 ответ

Попробуйте это:

#!/usr/bin/env bash
Servers_list=/opt/servers_list
for Host in $(< $Servers_list )
do
  echo "Installing package on $Host"
  ssh "${Host}" "echo 'mysql-server-5.7 mysql-server/root_password password your_password' | debconf-set-selections && \  
    echo 'mysql-server-5.7 mysql-server/root_password_again password your_password' | debconf-set-selections && \  
    apt-get update && \  
    apt-get -y install apache2 apache2-doc apache2-utils mysql-server"
done

Если у Вас есть много сервера, необходимо рассмотреть использование инструмента как ansible или марионетка.

Редактирование:

  • Обратная косая черта (\) используется для удобочитаемости. Они позволяют продолжать команду на следующей строке.
  • И (&&), оператор привык к должностному лицу, которым многие управляют на той же строке. Если один сбой следующее не выполняется.
  • debconf-set-selections используется для предварительной установки конфигураций. В этом случае: пароль. Можно найти больше информации о нем в странице справочника путем ввода: man debconf-set-selections в терминале.
2
ответ дан 7 December 2019 в 13:31

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

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