
Ambiente
- Ubuntu 12.04 Preciso64
- Chef Corporativo
- opscode-livros de receitas/mysql
- opscode-livros de receitas/banco de dados
- WordPress 3.9
Objetivo
Estou tentando replicar/clonar meu servidor Wordpress de produção.
Eu seria capaz de criar um dump do banco de dados remoto
mysqldump --databases my_database > dump.sql
e restaurar
mysql -u my_user -p -D my_database < dump.sql
Eu tentei isso sem sucesso:
mysql_anybots_connection_info = {
:host => 'localhost',
:username => 'my_user',
:password => "my_password"
}
mysql_database "my_database" do
connection mysql_connection_info
sql "source /path/dump.sql;"
end
e isto
mysql_database "my_database" do
connection mysql_connection_info
sql { ::File.open("/pul/dump.sql").read }
action :query
end
O que funcionou ainda menos?
Alguma sugestão?
Responder1
Fiquei frustrado com isso por algum tempo, mas finalmente encontrei uma solução.
Na minha situação o problema era com "DELIMITER", que é um comando usado apenas pelo cliente de linha de comando mysql. Não faz parte da API, que é o que a gema mysql está usando.
FONTE:https://github.com/opscode-cookbooks/database/issues/75
Para restaurar do dump eu uso esta função na receita:
execute 'restore-databases' do
command "mysql -u root -p#{node['mysql']['server_root_password']} -D databaseName < /path/to_dump.sql"
end