यदि यह फ़ाइल पथ त्रुटि है, और आप एकल शेफ का उपयोग कर रहे हैं, तो solo.rb में निर्दिष्ट पथ का उपयोग करके देखें , जैसे:
/tmp/chef-solo/site-cookbooks/path_to_file.sql
एक सामान्य नोट के रूप में, डेटाबेस कुकबुक का उपयोग करने पर विचार करें। mysql उपयोगकर्ता और डेटाबेस प्रबंधन कार्यों के लिए। एक बार जब आप आवश्यक कुकबुक निर्भरता सेट कर लेते हैं, तो आप इस तरह के कोड को अपने मुख्य नुस्खा के default.rb में डाल सकते हैं। :
# externalize conection info in a ruby hash
mysql_connection_info = {
:host => "localhost",
:username => 'root',
:password => node['mysql']['server_root_password']
}
# drop if exists, then create a mysql database named DB_NAME
mysql_database 'DB_NAME' do
connection mysql_connection_info
action [:drop, :create]
end
# query a database from a sql script on disk
mysql_database "DB_NAME" do
connection mysql_connection_info
sql { ::File.open("/tmp/chef-solo/site-cookbooks/main/path/to/sql_script.sql").read }
action :query
end
#or import from a dump file
mysql_database "DB_NAME" do
connection mysql_connection_info
sql "source /tmp/chef-solo/site-cookbooks/main/path/to/sql_dump.sql;"
end
पिछले एक का परीक्षण नहीं किया है क्योंकि शेफ निर्देशिका में डेटाबेस फ़ाइल संग्रहीत करना वास्तव में चीजों को धीमा कर देता है।
यह भी देखें:SQL फ़ाइल को mysql में आयात करें