LinuxForum.Fans
Тема

Установка mysql через программу по ssh

Автор: koka3000 7 сообщений 3638 просмотров
#266106

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

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

text
apt-get install mysql

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

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

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

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

#266107

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

text

sudo apt-get install mysql
#266109
"koka3000" написал:
Но пароль не устанавливает.

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

#266116
Lupo Alberto написал:
[quote="koka3000"]Но пароль не устанавливает.

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

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

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

text
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 через мою программу.

#266125

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

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

#293522

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

#293690

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

text
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
Войдите или зарегистрируйтесь, чтобы ответить.