1

Нужно установить mysql из программу на c++ через ssh на удаленном сервере.

При установке mysql через команду

apt-get install mysql

Сначала просит подтверждения, а потом ввести пароль для пользователя root.

вот как я пробую установить:

echo -e "y\nPASS\nREPASS\n" | apt-get install mysql

Но пароль не устанавливает.

2

А «по-простому» получить сначала root через команду su нельзя? ...или (если настроен) использовать

sudo apt-get install mysql
Был, был и весь вышел...

3

koka3000 пишет:

Но пароль не устанавливает.

Возможно, вы чуть запутались. Пароль для установки программы (пароль root) и пароль для mysql — совершенно разные пароли.

Был, был и весь вышел...

4

Lupo Alberto пишет:
koka3000 пишет:

Но пароль не устанавливает.

Возможно, вы чуть запутались. Пароль для установки программы (пароль root) и пароль для mysql — совершенно разные пароли.

Я, наверное, неправильно объяснил.

Если просто подключиться по 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 через мою программу.

5

ИМХО так слишком костыльно... лучше так:
посмотри man apt-get там должен был параметр, чтобы он не запускал конфигурацию пакета.
а пароль и всё остальное потом уже или средствами мускуля установить или через конфиги...

а вообще с интерактивными программами надо expect'ом работать... только вот не знаю, как он ncurses'евское окно воспримет... да и геморройно это малость...

95% процентов проблем находятся между клавиатурой и стулом.

6 (30.12.2012 15:57:23 отредактировано koka3000)

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

7

Тема закрыта. Вот решение, может кому понадобится:

root@test:~# echo "mysql-server mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
root@test:~# echo "mysql-server mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
root@test:~# apt-get install mysql-server