Vincent1
@Vincent1

Как держать все используемые копии базы данных в актуальном состоянии?

Имеется основная база размером 100Гб, которая обновляется, и есть ее копии на других серверах. Копии я создал скопировав содержимое из /var/lib/mysql.
Задача: копии основной базы держать в актуальном состоянии по мере возможности.
О чем думал я.
Первое - каждый раз копировать базу из /var/lib/mysql накладно по трафику.
Второе - обновлять копии базы одновременно с основной, не подходит, т.к. копии могут или быть не в онлайне или тормозить, а когда обновлятся основная, то процесс происходит не часто, но стремительно быстро. Не хочется тормозить процесс обновления основной базы из-за обращений к копиям.
Третье - использовать в работе только 1 основную базу через 3306 порт нельзя, из-за скорости доступа.

На серверах с копиями есть удаленное подключение к основной базе.
Мне на ум приходит следуещее. Формировать пакет данных, скажем 100мб, на сервере где копия и сжимать в архив для экономии трафика. Отправлять этот архив на основной сервер базы и сравнивать с актуальной версией данных. Те данные, которые изменились отправлять на сервер с копией, чтобы выполнилось обновление. И так пока не пройдусь по всей копии.
Есть какой то более простой вариант держать базы в актуальном состоянии? Может есть готовое решение?
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
Не нужно ничего велосипедить.
У MySQL же есть репликация из коробки:
https://habr.com/ru/post/56702/
https://dev.mysql.com/doc/mysql-replication-excerp...
Настроить можно разное. Постоянное соединение не нужно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы