0

我正在尝试Vagrant使用这个 puppet 模块配置一台机器。

Hello world很简单,它是这样的:

class { '::mysql::server':
  root_password           => 'strongpassword',
  remove_default_accounts => true
}

但我的主要目标是,当您vagrant up第一次这样做时,vagrant machinemysql 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. 我究竟做错了什么?

4

0 回答 0