Импортируйте dump.sql в базу данных mysql с помощью puppetlabs-mysql

Используя puppet в качестве поставщика Vagrant и модуля puppetlabs-mysql (2.2.3), я не могу импортировать дамп sql на БД с пользователем root и без пароля.

Это код марионетки, который я использую:

class { '::mysql::server': }

mysql::db { 'foo':
  user     => 'root',
  password => '',
  host     => 'localhost',
  sql      => '/vagrant/dump.sql',
}

Это коробка:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise

$ puppet --version
3.3.2

Это ошибка:

Error: Could not prefetch mysql_grant provider 'mysql': Execution of '/usr/bin/mysql -NBe SELECT CONCAT(User, '@',Host) AS User FROM mysql.user' returned 1: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

1 ответ

Не использовать root пользователь для создания базы данных, mysql::db Тип не предназначен для этого. Вместо этого укажите нового пользователя / пароль, вы всегда можете использовать root для доступа к базе данных позже:

class { '::mysql::server': }

mysql::db { 'foo':
  user     => 'foo',
  password => 'bar',
  host     => 'localhost',
  sql      => '/vagrant/dump.sql',
}
Другие вопросы по тегам