2013-09-15 3 views
1

Я строю коробку бродяг (CentOS 6.4) с использованием обеспечения SSH.vagrant ssh provisioning - mysql password

Все работает нормально, компоненты LAMP установлены и запущены, но я достиг шага, на котором я должен защищать MySql (установить пароль mysql и т. Д.).

Существует mysql_secure_installation, который может быть запущен, но он не работает в неинтерактивном режиме.

я мог бы запустить

/usr/bin/mysqladmin -u root password 'newpassword' 

но если предоставление я то же самое окно несколько раз, Mysql будет принимать новый пароль в первый раз, но потом будет жаловаться.

Есть ли элегантный способ обеспечения безопасности MySql, автоматически, при настройке? (Я не использую Chef/кукольный, просто в SSH продовольствования)

ответ

5

Возможный путь может быть:

/usr/bin/mysql -uroot -pnewpassword -e 'SELECT CURDATE();' || /usr/bin/mysqladmin -u root password 'newpassword' 

Объяснение: сценарий первой попытке подключиться к MySQL с новым паролем, и только если он терпит неудачу (то есть пароль еще не установлен) выполняет команду для его настройки.

-1
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root' 
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root' 
0

В вашей Vagrantfile добавьте строку следующим образом:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    <other code> 
    ... 
    config.vm.provision "shell", 
     inline: "mysqladmin -uroot -pcurrentpass password newpassword" 

end 
Смежные вопросы