Резервное копирование базы данных MySQL (до месяца или пока есть место)
Я создаю резервную копию своих файлов, используя deja-dup. Но как мне сделать то же самое с MySQL? Я вижу некоторые скрипты cron, но они всегда будут сохранять резервные копии. Я думал, что особенность deja-dup позволяет хранить резервные копии до месяца или пока есть место. Есть ли что-то похожее с MySQL?
2 ответа
- Экспортируйте свою базу данных MySQL в текстовый файл и поместите его куда-нибудь, чтобы Deja-Dup поднял его.
mysqldump -u {your_DB_username} -p {your_database} > {/home/{user}/textfile.sql}
после запроса пароля пользователя MySQL создаст файл textfile.sql
, Предполагая, что вы создадите резервную копию своего домашнего каталога, поместите его в резервную копию.
Перед резервным копированием вы также можете сжать его, чтобы сэкономить место gzip /home/{user}/textfile.sql
Я бы посоветовал automysqlbackup
, Это скрипт запускается из
cron
который делает ежедневные, еженедельные и ежемесячные резервные копии ваших баз данных MySQL, используя mysqldump
,
Конечно, это означает, что он имеет тот же недостаток, что и mysqldump
: он должен блокировать базу данных во время "дампа", но для небольших баз данных (когда дамп завершается быстро) или когда это происходит только тогда, когда никто не хочет использовать базу данных (например, рабочий стол, который вы резервируете ночью), который не должен это не проблема. Если вы используете mysqldump
вручную вы должны получить представление о том, как долго он блокируется в вашем случае (конечно, ваша база данных, вероятно, будет расти со временем).
Кроме того, ежедневные резервные копии чередуются еженедельно, а еженедельные резервные копии чередуются с 5-недельным циклом (только ежемесячные резервные копии хранятся вечно), а дампы SQL автоматически сжимаются, поэтому в большинстве случаев общее использование дискового пространства не слишком велико.