Существует в основном два способа резервного копирования баз данных mysql: холодное (статическое / автономное) резервное копирование и горячее (динамическое / онлайн) резервное копирование.
1 Использование сценария crontab выполняет резервное копирование вашей базы данных каждый день / неделю /месяц и т. д. Мы называем это холодным резервным копированием.Сценарий может быть таким:
!#/bin/sh
mysqldump -usample_name -S/tmp/sample.sock --databases db1 db2 > db_backup_time.sql
, руководство по mysqldump можно найти здесь .Собственно, весь раздел 6 посвящен резервному копированию и восстановлению базы данных.После этого вы будете ежедневно получать зеркало своих данных (например, в 6 часов утра).
2 Использование решений для репликации mysql (структура главный-подчиненный) для резервного копирования в онлайн-хранилище.Все запросы на ведущем устройстве, приводящие к изменениям данных, также будут выполняться на ведомом устройстве.
сравнение:
В основном, холодное резервное копирование проще.Но когда случается что-то плохое, первый метод может восстановить данные только к тому моменту, когда вы сбросили зеркало.С помощью горячего резервного копирования и инструмента mysqldump вы можете восстановить данные в любое время.
По моему опыту, мы всегда сочетаем эти два метода вместе:
- пишем зеркало каждое утро и
- создаем подчиненный master db на другой физической машине.
это было бы безопасно.