使用puppetlabs mysql将dump.sql导入mysql数据库

使用puppetlabs mysql将dump.sql导入mysql数据库,mysql,vagrant,puppet,puppetlabs-mysql,Mysql,Vagrant,Puppet,Puppetlabs Mysql,使用puppet作为流浪提供者和(2.2.3)我无法在具有root用户且没有密码的数据库上导入sql转储 这是我正在使用的傀儡代码: class { '::mysql::server': } mysql::db { 'foo': user => 'root', password => '', host => 'localhost', sql => '/vagrant/dump.sql', } 这是盒子: $ lsb_relea

使用puppet作为流浪提供者和(2.2.3)我无法在具有root用户且没有密码的数据库上导入sql转储

这是我正在使用的傀儡代码:

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)

不要使用
root
user创建数据库,
mysql::db
类型不适用于此。相反,请指定新的用户/密码,您可以始终使用
root
在以后访问数据库:

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

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

如果文件是gzip文件怎么办?使用
import\u cat\u cmd=>“zcat”