Установите MySQL на Ubuntu без запроса пароля
Как написать скрипт для установки сервера MySQL на Ubuntu?
sudo apt-get install mysql
установит, но он также попросит ввести пароль в консоли.
Как это сделать неинтерактивным способом? То есть написать скрипт, который может предоставить пароль?
#!/bin/bash
sudo apt-get install mysql # To install MySQL server
# How to write script for assigning password to MySQL root user
# End
4 ответа:
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password your_password' sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password your_password' sudo apt-get -y install mysql-server
для конкретных версий, таких как
mysql-server-5.6
, вам нужно будет указать версию следующим образом:sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password password your_password' sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password_again password your_password' sudo apt-get -y install mysql-server-5.6
для mysql-community-server ключи немного отличаются:
sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/root-pass password your_password' sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/re-root-pass password your_password' sudo apt-get -y install mysql-community-server
замените your_password на нужный пароль root. (кажется, your_password также можно оставить пустым для пустого пароля root.)
если ваша оболочка не поддерживает здесь-строки (zsh,ksh93 и Баш поддержите их), используйте:
echo ... | sudo debconf-set-selections
Это должно сделать трюк
export DEBIAN_FRONTEND=noninteractive sudo -E apt-get -q -y install mysql-server
конечно, он оставляет вас с пустым паролем root - так что вы хотите запустить что-то вроде
mysqladmin -u root password mysecretpasswordgoeshere
после этого добавить пароль к учетной записи.
еще один способ заставить его работать:
echo "mysql-server-5.5 mysql-server/root_password password root" | debconf-set-selections echo "mysql-server-5.5 mysql-server/root_password_again password root" | debconf-set-selections apt-get -y install mysql-server-5.5
обратите внимание, что это просто устанавливает пароль "root". Я не мог заставить его установить пустой пароль, используя простые кавычки
''
, но этого решения мне было достаточно.на основании решения здесь.