1

mysql をインストールして user というユーザーを設定する次のクラスがありますが、create-database コマンドを実行すると、ユーザーはまだ作成されていません。create-database がユーザーを使用しようとする前にユーザーが作成されるように、コマンドをチェーンするにはどうすればよいですか?

class { '::mysql::server':
  package_name            => 'mariadb-server.x86_64',
  root_password           => 'root',
  remove_default_accounts => true,
  override_options        => $override_options,
  restart                 => true,
  users                   => {
    'user@%' => {
      ensure                   => 'present',
      max_connections_per_hour => '0',
      max_queries_per_hour     => '0',
      max_updates_per_hour     => '0',
      max_user_connections     => '0',
      password_hash            => '...',
    }
  },
  grants                  => {
    'user@%/*.*' => {
      ensure     => 'present',
      options    => ['GRANT'],
      privileges => ['ALL'],
      table      => '*.*',
      user       => 'user@%',
    },
  }
}->
exec { 'create-database':
  creates => '/opt/dbinstalled',
  command => '/usr/bin/mysql -u user -puser < /create-db.sql'
}

puppetlabs-mysql パッケージを使用して mysql をインストールしています。

4

1 に答える 1