действительно ли возможно взять? Я исследовал в Google, я нашел немного статей, но на немецком и другом langs, не понял хорошо.
Было бы замечательно, если мы могли бы получить резервное копирование mysql от сервера до localhost с Подвижным [в localhost]. возможно, с Удаленным Подключением mysql, и т.д. Вы знаете какой-либо способ сделать это? действительно ли это возможно?
Спасибо!! С уважением...
Я думаю, что это было бы бессмысленным и опасным занятием на нескольких уровнях. Но если вы подумаете о том, как работает система VCS, она делает различия между текущей версией и предыдущей (или эталонной), а затем, если вы возвращаетесь к предыдущей ревизии, она (VCS) записывает файлы в каталог. В первом случае, если бы вы сделали это с базой данных, а затем выполнили diff, что бы вы увидели? Представление, которое вы получаете о данных в базе данных, фильтруется через СУБД, поэтому сравнивать необработанные файлы было бы бессмысленно. Во втором случае, если вы восстановите ревизию в рабочей базе данных, я не думаю, что вы получите что-то кроме разрушенной базы данных. Кроме того, что произойдет с представлениями, хранимыми процедурами, триггерами и т.д.?
Единственный раз, когда я рассматривал что-то подобное, был дамп только структуры базы данных, без данных, и VCS, чтобы я мог различать, какие структурные изменения были сделаны. Однако повышение уровня коммуникаций в команде решило эту проблему.
Способ работы с базами данных заключается в использовании надлежащего набора программ и процедур резервного копирования, не забывая о наборе программ и процедур восстановления и режиме тестирования, чтобы убедиться, что все ваши резервные копии работают.
Предполагая, что вы хотите хранить периодические резервные копии в репозитории контроля версий, есть три шага:
Настройте репозиторий Mercurial, в котором вы хотите хранить моментальные снимки базы данных.
mkdir db-backup
hg init db-backup
Получить базу данных в формате файла. Самый простой способ - через mysqldump
. Простое резервное копирование необработанных файлов таблиц базы данных не сработает, поскольку они могут находиться в несогласованном состоянии.
cd db-backup
mysqldump -u username -p -h dbhost databasename> databasename.sql
Зафиксируйте дамп базы данных в репозитории контроля версий, в вашем случае - mercurial.
hg commit -A -m "фиксация снимка базы данных по состоянию на` date` "
Последние 2 шага - это то, что вы, вероятно, захотите автоматизировать.