Ако това е грешка в пътя на файла и използвате chef solo, опитайте да използвате пътя, посочен в 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
Не съм тествал последното, защото съхраняването на файл на база данни в директорията chef наистина забавя нещата.
Вижте също:Импортирайте SQL файл в mysql