LINUX.ORG.RU
ФорумAdmin

Установить mysql через shell скрипт

 , ,


0

1

Если просто подключиться по ssh пользователем root и написать:

apt-get install mysql-server

Сначала apt просит подтверждения и я пишу Y. Потом начинается установка mysql-server. Потом в таком синем окне попросит ввести пароль для пользователя root в mysql. И его ввожу и все нормально.

Но мне все это нужно сделать через ssh из своей программы на c++. И подключаюсь по ssh пользователем root. Далее мне нужно установить mysql-server. Я пишу вот такую команду: echo -e «y\nPASS\nREPASS» | apt-get install mysql-server т.е. y\n подтверждает установка пакета, а \nPASS\nREPASS, как я думал, должно было в синем окне ввести пароль для mysql. Но оно не вводит. Вот и я хочу узнать, как ввести через echo пароль для пользователя root от mysql при установке mysql-server через мою программу.

Ответ на: комментарий от leave

Дело в том, что этот синий экран на ncurses и просто так ввести пароль не выходит. Искал в man apt-get параметр, который бы не конфигурировал пакет, чтобы не запрашивало пароль. А потом я бы вручную поставил пароль. Но такого параметра не нашел.

koka3000
() автор топика
Ответ на: комментарий от koka3000

Вот как раз то что вам нужно, даже пакет рассматривается - mysql-server, в общем нужный вам, только всё же перепроверьте так, как там указано.

http://serverfault.com/questions/407317/passing-default-answers-to-apt-get-pa...

# apt-get install mysql-server
# debconf-get-selections | grep mysql-server
mysql-server-5.5        mysql-server/root_password_again        password
mysql-server-5.5        mysql-server/root_password      password
mysql-server-5.5        mysql-server/error_setting_password     error
mysql-server-5.5        mysql-server-5.5/postrm_remove_databases        boolean false
mysql-server-5.5        mysql-server-5.5/start_on_boot  boolean true
mysql-server-5.5        mysql-server-5.5/nis_warning    note
mysql-server-5.5        mysql-server-5.5/really_downgrade       boolean false
mysql-server-5.5        mysql-server/password_mismatch  error
mysql-server-5.5        mysql-server/no_upgrade_when_using_ndb  error
# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
# apt-get install mysql-server

ЗЫЖ: возможно есть способ узнать какие параметры нужно передавать пакету с помощью debconf без его предварительной установки.

Можно узнать зачем вам программа на C++ если всё просто делается с помощью bash или другого командного интерпретатора (SHELL)?

kostik87 ★★★★★
()
Ответ на: комментарий от koka3000

Ну и что, напишите скрипт на bash и поместите его вызов в cron с некоторым интервалом, вот и всё, зачем писать программу, если просто можно всё реализовать через командный интерпретатор?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Я пишу что-то на подобии Webmin, так что одним bash не обойтись. К тому же идет взаимодействие с большим количеством серверов.

koka3000
() автор топика
Ответ на: комментарий от koka3000

Напишите web-interface на php, указанные в нём настройки пишутся в текстовый файл, скрипт обрабатывает этот файл, список серверов берётся из этого же файла или любого другого, это не проблема.

Но поступайте как вам удобно, просто мне кажется нет необходимости писать такой узконаправленный софт, для внесения изменений в который ещё потребуется перекомпиляция, если есть уже готовые инструменты.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

В готовых инструментах нет нужных функций. Этот софт для администрирования игровыми серверами. А вообще спасибо, очень выручили.

koka3000
() автор топика
Ответ на: комментарий от kostik87

# echo «mysql-server mysql-server/root_password_again password Som3Passw0rd» | debconf-set-selections # echo «mysql-server mysql-server/root_password password Som3Passw0rd» | debconf-set-selections У меня так тоже работает (без версий (5.5)).

koka3000
() автор топика
Ответ на: комментарий от leave

лорчую этого господина. Паппет и все Ваши проблемы будут решены.

Prius
()

Сначала apt просит подтверждения и я пишу Y

apt-get install mysql-server -y

Избавит от этой проблемы.

DALDON ★★★★★
()
Ответ на: комментарий от koka3000

Искал в man apt-get параметр, который бы не конфигурировал пакет, чтобы не запрашивало пароль.

При чём тут апт, если скрипты пишет мантейнер, а вызывает их rpm ? Надо через rpm весь список пакетов ставить, очевидно.

Ах, у Вас Дебиан что ли ? ;-)

AS ★★★★★
()
Ответ на: комментарий от kostik87

что то мне говорит что надо посмотреть как это сделано в chef или puppet

hellysmile
()

кури ман apt до позеленения.

MikeDM ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.