Среда
- Ubuntu 12.04 Precise64
- Шеф-повар предприятия
- opscode-cookbooks/mysql
- opscode-cookbooks/database
- Вордпресс 3.9
Цель
Я пытаюсь скопировать/клонировать свой рабочий сервер Wordpress.
Мне бы хотелось иметь возможность создать дамп удаленной базы данных.
mysqldump --databases my_database > dump.sql
и восстановить
mysql -u my_user -p -D my_database < dump.sql
Я пробовал это, но безуспешно:
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
и это
mysql_database "my_database" do
connection mysql_connection_info
sql { ::File.open("/pul/dump.sql").read }
action :query
end
Что сработало еще хуже?
Какие-либо предложения?
решение1
Некоторое время я был этим расстроен, но в конце концов нашел решение.
В моей ситуации проблема была в "DELIMITER", который является командой, используемой только клиентом командной строки mysql. Это не часть API, который использует mysql gem.
ИСТОЧНИК:https://github.com/opscode-cookbooks/database/issues/75
Для восстановления из дампа я использую эту функцию в рецепте:
execute 'restore-databases' do
command "mysql -u root -p#{node['mysql']['server_root_password']} -D databaseName < /path/to_dump.sql"
end