[英]Chef-solo and vagrant to automatically run an MySql script after install?
我對流浪漢和廚師來說還很陌生,所以這可能是一個簡單的問題。
我設法讓廚師安裝MySql,PHP等
在此之后,我需要VM運行大約3個SQL腳本,這是否可以使用廚師,還是我應該進入shell腳本並在啟動后運行?
我的流浪檔案 -
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "raring32.box"
config.vm.box_url = "http://[local network location]/raring32.box"
config.vm.network :forwarded_port, guest: 80, host: 8888
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe "openssl"
chef.add_recipe "apache2"
chef.add_recipe "mysql"
chef.add_recipe "mysql::server"
chef.add_recipe "php"
chef.add_recipe "php::module_apc"
chef.add_recipe "php::module_curl"
chef.add_recipe "php::module_mysql"
chef.add_recipe "apache2::mod_php5"
chef.add_recipe "apache2::mod_rewrite"
chef.json = {
"mysql" => {
"server_root_password" => "hello",
"server_repl_password" => "hello",
"server_debian_password" => "hello"
}
}
chef.add_recipe "Database:Mysql"
end
end
謝謝你的幫助。
為此,我建議您使用Chef,因為您已經在Chef / Vagrant環境中。 無需創建shell腳本並從Chef中觸發它 - 它將違背Chef / Vagrant的預期流程。
你可以做一些事情(在server.rb配方中由OpsCode從MySQL 食譜中獲取和簡化):
execute "mysql-install-privileges" do
command "mysql -u root -p#{node['mysql']['server_root_password']} < /vagrant/command.sql"
end
您可以自行確定如何存儲mysql路徑,用戶名和密碼。 一般的想法是你在.sql文件中定義你的MySQL命令(保存在你的模板或你的食譜中的文件目錄中),然后使用普通的MySQL命令運行它。
希望能讓你走上正確的道路。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.