Как лучше всего сделать резервную копию сервера MySQL? Мне нужен метод, который не требует отключения сервера. Что-то вроде Горячее резервное копирование InnoDB необходимо, или я могу просто использовать инструменты резервного копирования, предоставленные в инструментах администратора MySQL. Какие преимущества предлагает одно перед другим?
Мы используем mysqldump, который работает во время работы MySQL. Мы начали использовать mysqldump, потому что его было проще всего настроить, когда наши потребности были небольшими, и, похоже, он отвечал этим потребностям. С тех пор наши базы данных выросли, но мы еще не переросли mysqldump. Подходит ли это вам, будет зависеть от размера ваших баз данных, их обычной рабочей нагрузки и, возможно, множества других вещей.
взгляните на xtrabackup от percona - это интересная альтернатива mysqlhotcopy с открытым исходным кодом для баз данных innodb.
вы можете прочитать об этом больше Вот
mysqldump можно использовать, но это не гарантирует последовательный набор данных, если вы не заблокируете все таблицы на время дампа. Это поместит базу данных в только чтение режим, но обеспечит согласованность дампа.
Вы можете заблокировать таблицы с помощью команды:
FLUSH TABLES WITH READ LOCK;
И когда вы закончите, вы можете снять блокировку с помощью:
UNLOCK TABLES;
взгляните на этот вопрос в stackoverflow
Лучшая практика для резервного копирования производственной базы данных MySQL?
он хорошо освещает эту тему
Настроить Репликация MySQL. В качестве бонуса вы получаете сервер для выполнения тяжелых отчетов и mysqldump, не затрагивая вашу основную производственную базу данных.
Самый простой способ - просто использовать mysqldump команда.
Также есть инструмент под названием mysqlhotcopy который я сразу посмотрел и подумал, что он многообещающий, но никогда не использовал его.