Машина Provision Vagrant с модулем MySQL Puppet
Я пытаюсь обеспечить Vagrant
машина, использующая этот кукольный модуль.
Hello world
это просто, это примерно так:
class { '::mysql::server':
root_password => 'strongpassword',
remove_default_accounts => true
}
Но моя главная цель, когда вы делаете vagrant up
в первый раз vagrant machine
будет иметь mysql server
готовы к внешнему доступу и могут принимать внешние подключения от host
с конкретным пользователем.
Вот что я попробовал:
class { '::mysql::server':
root_password => 'strongpass',
remove_default_accounts => false,
override_options => {
mysqld => { bind-address => '0.0.0.0'} //allow entry connections from any ip
}
}
//create a database called `mydb`, a user and a password
mysql::db { 'mydb':
user => 'admin',
password => 'secret',
host => '192.168.33.1',
}
//assign it all the privileges to that user
mysql_grant { 'admin@192.168.33.1/*.*':
ensure => 'present',
options => ['GRANT'],
privileges => ['ALL'],
table => '*.*',
user => 'admin@192.168.33.1',
}
Это тест, который я делаю, чтобы увидеть, работает ли он:
- Уничтожьте бродячую машину, если она уже существует:
vagrant destroy
- Создайте бродячую машину:
vagrant up
- Попробуйте связаться с MySQLWorkbench.
Вопрос
Странно то, что когда я пытаюсь установить соединение, это просто невозможно, но если я vagrant reload --provision
тогда я могу подключить его с MySQLWorkbech
, Что я делаю неправильно?