我正在尝试Vagrant
使用这个 puppet 模块配置一台机器。
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 machine:
vagrant destroy
- 创建流浪机器:
vagrant up
- 尝试与MySQLWorkbench连接。
问题
奇怪的是,当我尝试进行连接时,这是不可能的,但如果我这样做,vagrant reload --provision
那么我可以将它与MySQLWorkbech
. 我究竟做错了什么?