В настоящее время у меня есть два Linux-сервера, на которых работает MySQL, один находится на стойке рядом со мной под каналом загрузки 10 Мбит / с (основной сервер), а другой - на расстоянии нескольких миль по каналу загрузки 3 Мбит / с (зеркало). ).
Я хочу иметь возможность непрерывно реплицировать данные на обоих серверах, но столкнулся с несколькими препятствиями. Одним из них является то, что в конфигурациях master / slave MySQL время от времени некоторые операторы отбрасывают (!), Что означает; некоторые люди, входящие в URL-адрес зеркала, не видят данных, которые, как я знаю, находятся на главном сервере, и наоборот. Допустим, это происходит с осмысленным блоком данных один раз в месяц, поэтому я могу с этим смириться и предположить, что это проблема «потерянного пакета» (то есть, бог знает, но мы компенсируем это).
Другая наиболее важная (и раздражающая) повторяющаяся проблема заключается в том, что, когда по какой-то причине мы выполняем крупную загрузку или обновление (или перезагрузку) на одном конце и должны разорвать ссылку, затем ЗАГРУЗИТЬ ДАННЫЕ FROM MASTER не работает, и мне приходится вручную выгружать на одном конце и загружать на другом, в настоящее время это довольно трудная задача для переноса данных объемом около 5 ТБ.
Есть ли программное обеспечение для этого? Я знаю, что MySQL («корпорация») предлагает это как ОЧЕНЬ дорогой сервис (полная репликация базы данных). Что люди там делают? По своей структуре мы запускаем автоматическое аварийное переключение, при котором, если один сервер не работает, основной URL-адрес просто переходит на другой сервер.