【发布时间】:2013-06-22 01:51:18
【问题描述】:
我是 Chef(配置管理)的新手。我使用具有所有默认属性的 mysql 食谱。 运行它会为 root 帐户生成一个随机密码。 我可以将密码与 node['mysql']['server_root_password'] 一起使用。然后,我使用 mysqladmin 更改 mysql 密码。 变量 node['mysql']['server_root_password'] 没有更新为我的新密码。 请问如何告诉 mysql 食谱更新 node['mysql']['server_root_password'] 内的值?
【问题讨论】:
-
您是在运行 Chef 客户端(带服务器)还是单独运行 Chef?你到底想更新什么? attributes/server.rb 中的值?
-
我使用 Chef-server/Chef-client。在我的食谱中,我使用变量 node['mysql']['server_root_password'] 登录/运行 mysql 脚本。但是这个变量保存了不再有效的旧密码,因为我已经使用 mysqladmin 将我的 root 密码更改为不同的值。所以资源执行失败。
-
在这种情况下,只需在配方中手动更新它,因为您稍后为mysql手动更改了root密码-_-或者,您可能可以覆盖节点['mysql']['server_root_password '] 执行时使用 JSOn 属性文件。
标签: mysql ruby attributes chef-infra cookbook