2008-08-06 5 views
19

В настоящее время у меня есть два Linux-сервера, на которых работает MySQL, один из которых сидит на стойке рядом со мной под трубкой выгрузки 10 Мбит/с (главный сервер) и еще несколько миль за 3 мбит/с (см. ,Полная полная репликация базы данных MySQL? Идеи? Что делают люди?

Я хочу, чтобы иметь возможность реплицировать данные на обоих серверах непрерывно, но столкнулись с несколькими блокпостами. Один из них, в соответствии с MySQL master/slave конфигурациями, время от времени, некоторые заявления drop (!), Что означает; некоторые пользователи, входящие в зеркальный URL, не видят, что данные, которые я знаю, находятся на главном сервере, и наоборот. Предположим, что это происходит на значимом блоке данных один раз в месяц, поэтому я могу жить с ним и предположить, что это проблема «потерянного пакета» (то есть, бог знает, но мы будем компенсировать).

Другая важная (и раздражающая) повторяющаяся проблема заключается в том, что, когда по какой-то причине мы выполняем крупную загрузку или обновление (или перезагрузку) на одном конце и имеем sever ссылку, тогда LOAD DATA FROM MASTER не работать, и мне приходится вручную сбрасывать на одном конце и загружать с другой, что довольно сложно в настоящее время перемещать некоторые данные на 0,5 балла.

Есть ли программное обеспечение для этого? Я знаю, что MySQL («корпорация») предлагает это как ОЧЕНЬ дорогой сервис (полная репликация базы данных). Что делают люди там? Как он структурирован, мы запускаем автоматический переход на другой ресурс, когда, если один сервер не работает, тогда основной URL-адрес просто переходит на другой сервер.

+0

Может быть, это может быть источником вдохновения: [http://www.howtoforge.com/loadbalanced_mysql_cluster_debian](http://www.howtoforge.com/loadbalanced_mysql_cluster_debian) – svrist

ответ

0

GoldenGate - очень хорошее решение, но, вероятно, так дорого, как репликатор MySQL.

В основном это заголовок журнала и применяет изменения в зависимости от того, что было совершено. Они поддерживают двунаправленную репликацию (сложную задачу) и репликацию между гетерогенными системами.

Поскольку они работают, обрабатывая файл журнала, они могут выполнять крупномасштабную распределенную репликацию, не влияя на производительность на исходных машинах.

0

Я никогда не видел сброшенные утверждения, но есть ошибка, в которой проблемы с сетью могут вызвать повреждение журнала реестров. Убедитесь, что вы не запускаете mysql без этого исправления.

Документально в 5.0.56, 5.1.24 и 6.0.5 списком изменений следующим образом:

Network timeouts between the master and the slave could result 
    in corruption of the relay log. 

http://bugs.mysql.com/bug.php?id=26489

3

Мы в Percona предлагают бесплатные инструменты для обнаружения расхождений между мастером и сервер, и чтобы получить их обратно в синхронизации, повторно применяя минимальные изменения.