SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.07.2011 14:34:54

danilov.michael
Участник
Зарегистрирован: 01.07.2011
Сообщений: 5

Репликация нескольких баз данных

Доброго времени суток, помогите пожалуйста разобраться со следующим вопросом. Необходимо произвести синхронизацию данных двух или более бд в обе стороны (то есть, имеется Центральная БД и несколько локальных БД). Периодически информация будет меняться и на локальных бд и на центральной. Центральная БД общая, которая содержит все таблицы Локальных БД, а Локальные БД содержат лишь определенную часть таблиц Центральной БД.
Базы данных удалены друг от друга и объединены в локальную сеть, следующим образом: к Центральной БД подключены Локальные БД, но между Локальными БД связи нет.
Как я понял репликация работает только от мастера к реплике.
Есть ли возможность как то решить эту проблему?

Отредактированно danilov.michael (01.07.2011 14:44:01)

Неактивен

 

#2 01.07.2011 15:26:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Репликация нескольких баз данных

Хорошего автоматического механизма нету, к сожалению. Офисы отключаются
от интернета периодически, или есть постоянное подключение?

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

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

Неактивен

 

#3 04.07.2011 15:35:01

danilov.michael
Участник
Зарегистрирован: 01.07.2011
Сообщений: 5

Re: Репликация нескольких баз данных

А нельзя использовать мультимастерную репликацию? (http://mysql-mmm.org/)
Или организовать что то вроде Master (BSD1) + Slave (BSD2) и Master (BSD2) + Slave (BSD1)?

Отредактированно danilov.michael (04.07.2011 16:22:47)

Неактивен

 

#4 05.07.2011 05:09:31

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Репликация нескольких баз данных

Можно, но ребята в перконе — не тупые, одновременно писать Вы сможете
всё равно только в одну из баз (видимо, центральную).

Честный мастер-мастер сделать можно, но, как правило, с такой схемой не
могут работать клиентские приложения — их надо переписывать с нуля.

Организовать схему так, как Вы написали, можно, но что делать с другим
офисом при этом?

Слова BSD меня смущают. FAQ#14.

Неактивен

 

#5 05.07.2011 08:23:29

danilov.michael
Участник
Зарегистрирован: 01.07.2011
Сообщений: 5

Re: Репликация нескольких баз данных

Спасибо, буду думать.

Неактивен

 

#6 12.07.2011 14:28:36

danilov.michael
Участник
Зарегистрирован: 01.07.2011
Сообщений: 5

Re: Репликация нескольких баз данных

Не знаю могу ли я продолжить эту тему, напишу здесь.
Если использовать бинарный журнал обновлений, то удаление информации из таблицы не будет записано? Если да, то как его можно отследить?
И еще вопрос, для того чтобы передавать этот журнал необходимо написать свою программу, которая будет передавать журнал по сети на другой компьютер, а после того как передаст как запустить журнал на обновление данных?
И такой же вопрос по триггерам, как их после передачи применить на другом компьютере.

Отредактированно danilov.michael (12.07.2011 14:34:45)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson