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