我有一个包含在mysql::server
上的食谱,但是替换了my.cnf文件。结果是,在每个chef-client运行时,它重新启动mysql服务器,因为my.cnf在chef-client运行期间被替换了两次。如何避免?
更新:是的,这是因为mysql::server
部署my.cnf然后我的食谱会覆盖它。问题是如何禁用mysql::server
部署my.cnf而不禁用或修改此菜谱(仅使用我的包装菜单中的更改)。直接修改社区烹饪书被认为是一种不好的做法,所以肯定应该有一种方法来使用包装食谱来实现所需的行为。
答案 0 :(得分:0)
听到这个消息,你有两个为my.cnf声明的模板资源,其中一个需要被禁用。
如果没有食谱,我只能猜测,但是当您包含mysql::server
食谱(它具有my.cnf的自己的模板资源)时,通常会发生这种情况,然后您为我指定了自己的模板资源.CNF。
MySQL cookbook允许您使用mysql_config
资源
mysql_service 'foo' do
port '3306'
version '5.5'
initial_root_password 'change me'
action [:create, :start]
end
mysql_config 'foo' do
source 'my_extra_settings.erb'
notifies :restart, 'mysql_service[foo]'
action :create
end
您需要在食谱中创建my_extra_settings.erb