Репликация MySQL и различные аспекты резервного копирования баз данных MySQL

MySQL Replication

Репликация MySQL позволяет вам поддерживать синхронизацию данных между несколькими БД, используя их одновременно для повышения эффективности, безопасности и скорости работы баз данных MySQL. Хотя система управления базами данных (СУБД) MySQL поддерживает репликацию “из коробки”, перед её использованием всякий раз требуется специально сконфигурировать её параметры.

Есть множество областей приложения техники репликации MySQL, в которых программное обеспечение Handy Backup может оказаться крайне полезным:

  • Резервное копирование основного сервера (Master Server) СУБД MySQL. До того как произвести репликацию, вы можете переместить базы данных основного сервера на физический или виртуальный сервер, поддерживающий работу в подчинённом (Slave) режиме с копией БД.
  • Конфигурирование подчинённого (Slave) сервера. Для увеличения производительности вашего веб-сайта или приложения рекомендуется установить несколько подчинённых (Slave) баз данных: это увеличивает доступность и скорость доступа к данным за счёт использования другого механизма хранения данных.
  • Резервное копирование данных на подчинённых (Slave) серверах. Важно понимать, что репликация MySQL не может заменить регулярного резервного копирования: эффективным путём здесь является комбинирование обоих подходов – резервное копирование данных со slave-серверов MySQL.

Наше программное обеспечение способно осуществить всё вышеперечисленное (подробности изложены далее).

Версия 7.9.8 от 15 декабря 2017,
65.7 MB

Содержание

Организация репликации MySQL

При конфигурировании репликации MySQL в режиме mater-slave важно понимать принципы работы соответствующего механизма в СУБД MySQL. В MySQL существуют два основных механизма репликации данных:

  • Операторная репликация (Statement-based replication) записывает все запросы SQL, сделанные к главной (Master) БД, и воспроизводит их на подчинённых (Slave) серверах. Этот метод быстр, но не очень точен: например, если вы вставляете в поле таблицы случайное значение, полученное с помощью функции MySQL RAND(), результат, хранимый в разных копиях БД, будет различаться.
  • Построчная репликация (Row-based replication) подсчитывает все изменения в главной (Master) БД и автоматически изменяет записи в таблицах подчинённой (Slave) БД всякий раз при обнаружении новых данных. Этот подход значительно медленнее, чем операторная репликация MySQL, но предоставляет высокую мобильность данных и намного эффективнее влияет на производительность Slave серверов.

Как можно заметить, оба типа репликации предполагают, что у вас есть две версии БД, которые поддерживаются в синхронизированном состоянии. С помощью нашего ПО вы можете легко синхронизировать ваши базы данных, сохранив их на главном (Master) сервере и восстановив на Slave-сервере. Более подробную информацию о бэкапе MySQL вы можете прочитать на соответствующей странице.

Handy Backup Office Expert

Версия 7.9.8 от 15 декабря 2017. 65.7 MB
Программа резервного копирования Handy Backup. 7400 RUB за лицензию

Handy Backup Office Expert

Издание Office Expert идеально подходит для бэкапа, восстановления и репликации баз данных MySQL.

Конфигурирование дополнительных (Slave) баз данных MySQL

Помимо создания идентичных баз данных, важно установить также правильные конфигурационные параметры для серверов Slave. Идея в том, чтобы сделать их доступными только для чтения, распределив среди множества серверов нагрузку по доступу к данным./p>

Конфигурирование репликации MySQL

Конфигурирование репликации MySQL

В базовой комплектации серверы MySQL поставляются с несколькими утилитами хранения данных, самые популярные из которых – MyISAM и InnoDB.

  • MyISAM – быстрый и нетребовательный к ресурсам алгоритм, но он не поддерживает транзакции и имеет блокировку доступа на уровне таблиц. До версии MySQL 5.5 это был основной механизм хранения данных. Его основной недостаток в том, что он не позволяет производить множество одновременных операций при обновлении таблиц.
  • InnoDB – безопасный по транзакциям механизм хранения, поддерживающий блокировку на уровне отдельных строк, подтверждения и откаты транзакций, кэширование индекса и многие другие полезные функции. Во многих аспектах он превосходит по производительности все остальные механизмы хранения данных СУБД MySQL.

Конфигурирование репликации Master-to-Slave подразумевает, что вы собираетесь использовать БД на Slave-серверах только для чтения. Для этой цели MyISAM привлекательнее, поэтому ваши Slave-серверы должны использовать именно его.

Схема репликации MySQL с основного на починенный сервер

Схема репликации MySQL с основного на подчиненный сервер

Конфигурирование Slave-серверов может производиться так:

  1. Плагин Handy Backup под названием MySQL Backup создаёт набор дамп-файлов, по одному на каждую таблицу MySQL. Каждый дамп-файл содержи все SQL-запросы, необходимые для создания и заполнения данными каждой конкретной таблицы.
  2. Формат дамп-файлов легко читается и модифицируется вручную, как текстовые файлы. Найдите оператор CREATE TABLE в начале каждого файла и измените параметр ENGINE=InnoDB на ENGINE=MyISAM.
  3. Теперь вы можете восстановить БД из дамп-файлов на Slave-сервере.

Версия 7.9.8 от 15 декабря 2017,
65.7 MB

Важно запомнить или записать, какие механизмы хранения использовались в оригинале в таблицах Master-сервера. Если Master-сервер упадёт, вам будет необходимо восстановить данные на нём в обратном порядке (детали описаны в нижеприведённом разделе "Проблемы восстановления").

После восстановления таблиц на Slave-сервере вам понадобится запустить его в режиме MySQL Slave. Это может быть сделано с помощью оператора CHANGE MASTER TO, информацию о котором вы можете прочесть в официальном руководстве.

Настройка резервного копирования на Slave-сервере

Общая проблема резервного копирования MySQL заключается в том, что процесс бэкапа отрицательно влияет на производительность. В этом случае репликация MySQL весьма выгодна: она не только разгружает основную БД, но также ускоряет и упрощает резервное копирование.

При конфигурировании репликации в режиме Master-to-Slave, Slave-серверы настраиваются для обеспечения максимально быстрого доступа к ним. Поскольку резервное копирование является операцией чтения, бэкап БД на Slave-сервере может быть выполнен без нагрузки Master-сервера.

Резервное копирование MySQL на Slave-сервере

Резервное копирование MySQL на Slave-сервере

Проблемы восстановления

Восстановление баз данных MySQL в режиме репликации Master-to-Slave может представлять известные трудности. Эта операция отличается от типичного восстановления MySQL тем, что работает с множеством БД вместо одной.

Если Slave-сервер подвергся аварийной остановке, вам необходимо просто повторить на нём настройку БД в Slave-режиме, описанную ранее. Сделайте бэкап базы данных на Master-сервере, смените механизм хранения, восстановите БД на Slave-сервере и разрешите репликацию; этого будет достаточно.

Гораздо сложнее восстановление в случае аварии или падения Master-сервера. Во многих случаях вы не сможете использовать ваши БД в режиме “только для чтения”, поэтому просто переключите один из Slave-серверов в режим Master. Чтобы сделать это, выполните следующие операции:

  1. Выберите Slave-сервер MySQL для перевода в Master-режим.
  2. Используйте операторы STOP SLAVE и RESET MASTER, чтобы запустить выбранную базу данных в автономном режиме.
  3. На всех остальных Slave-серверах используйте оператор STOP SLAVE IO_THREAD, чтобы завершить необработанные операции синхронизации с предыдущим Master-сервером.
  4. Далее используйте оператор CHANGE MASTER TO с верными параметрами, и выполните операцию START SLAVE, чтобы запустить процесс репликации с нового Master-сервера на Slave-серверы.

Использование Slave-сервера в качестве Master-сервера является временной мерой, так как механизм хранения данных MyISAM оптимизирован для чтения и очень медленно исполняет операции изменения и добавления данных. Поэтому рекомендуется восстановить функциональность предыдущего Master-сервера так быстро, как только возможно.

  1. Сделайте заново бэкап одного из Slave-серверов MySQL. По соображениям производительности, не следует использовать для этого временный Master-сервер (но если он остался единственным работающим сервером, такое падение производительности всё же лучше, чем остановка операций системы).

Внимание: Для эффективного бэкапа MySQL попробуйте наше ПО – скачайте Handy Backup прямо сейчас!

  1. Модифицируйте дамп-файл, созданный программой бэкапа, изменив механизм хранения данных в таблицах на тот, что использовался в базе данных Master-сервера.
  2. Выполните процедуру восстановления.
  3. Повторите шаги 1-4, как если бы Master-сервер (предыдущий Slave) упал и у вас возникла бы необходимость установить восстановленную БД в качестве новой Master.

Информация о продукте

Для резервного копирования и восстановления баз данных MySQL вам понадобится одно из решений Handy Backup, предназначенных для использования в коммерческих целях.

Сохраняйте, восстанавливайте и дублируйте БД MySQL с помощью решений Office Expert и Server Network.

Handy Backup Office Expert
Handy Backup Server Network

Весь функционал доступен бесплатно в течение 30 дней!

  • Если вам нужна возможность работать с резервным копированием более чем на одном компьютере, содержащем сервер MySQL (что вполне вероятно, если вы используете технологию репликации БД MySQL), вам необходимо решение Handy Backup Server Network, поддерживающее одновременную работу с несколькими компьютерами.
  • Для резервного копирования и восстановления данных только на одном компьютере пользуйтесь решением Office Expert.

Чтобы узнать стоимость продуктов и условия приобретения, пожалуйста, перейдите на страницу Купить.

Видеоурок

В нижеприведённом видео вы можете изучить, как правильно сохранять и восстанавливать базы данных MySQL, используя стандартную Windows-версию ПО HandyBackup. Это видео не посвящено непосредственно репликации серверов MySQL, но иллюстрирует общие принципы работы. В настоящий момент видео доступно только на анлийском языке.

Смотрите также

Handy Backup– великолепное решение для резервного копирования, восстановления или репликации ваших баз данных под управлением СУБД MySQL!

Версия 7.9.8 от 15 декабря 2017,
65.7 MB

Свяжитесь с нами

support@handybackup.ru

sales@handybackup.ru

+7 (383) 330-34-69

7400 р. за лицензию


Payment methods

Цена: 7400 р. (1 лицензия)

Оптовая скидка: 0 р.

Всего: 7400 р.

лицензия лицензии лицензий

Обновить до версии 7.9.8

1 лицензия7400 р./шт.
2-9напишите нам7400 р./шт.
10-49напишите нам7400 р./шт.

Узнать все оптовые цены

Посмотреть все товары

Логотипы Handy Backup