Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确保在MySQL之前获得更新_Mysql_Puppet_Vagrant - Fatal编程技术网

确保在MySQL之前获得更新

确保在MySQL之前获得更新,mysql,puppet,vagrant,Mysql,Puppet,Vagrant,我正在使用来自的Puppet模块,由于某种原因,它一直在生成有关apt get update的错误 可以找到确切的错误消息 出于某种奇怪的原因,MySQL类是在执行其他任何操作之前以及在执行apt get update命令之前首先执行的 有没有办法确保命令apt update在我的MySQL模块之前运行 您可以找到我的当前default.pp清单 我尝试了各种方法来确保首先执行apt update命令,但似乎没有任何效果。在第148行,我尝试了以下代码 包{'mysql': 确保=>“已安装”

我正在使用来自的Puppet模块,由于某种原因,它一直在生成有关apt get update的错误

可以找到确切的错误消息

出于某种奇怪的原因,MySQL类是在执行其他任何操作之前以及在执行apt get update命令之前首先执行的

有没有办法确保命令
apt update
在我的MySQL模块之前运行

您可以找到我的当前default.pp清单

我尝试了各种方法来确保首先执行apt update命令,但似乎没有任何效果。在第148行,我尝试了以下代码


包{'mysql':
确保=>“已安装”,
require=>Exec['apt-update'],
}

但这并没有解决我的问题


没有办法解决这个问题了

这可能很简单,只需删除“已安装”周围的引号,或者如果mysql已经安装,您可能需要确保最新版本才能更新:

package { 'mysql': 
  ensure  => latest, 
  require => Exec['apt-update'], 
} 

为了确保apt get update发生在Puppet配置之前,我在定义Puppet之前将以下命令放在我的vagrant文件中


config.vm.provision:shell,:inline=>“apt get update--修复丢失”

您必须在puppet中设置执行顺序。如果您使用puppet mysql模块,它会附带不同的类。这些是(现在):

因此,要将APT模块设置为第一个,请设置您正在使用的所有mysql模块类的执行顺序。例如:

Class['apt'] -> Class['mysql::server'] -> Class['mysql::client'] -> Class['mysql::bindings']
现在,您的puppet脚本中所有与sql相关的内容都将在apt之后执行

Class['apt'] -> Class['mysql::server'] -> Class['mysql::client'] -> Class['mysql::bindings']