Синхронизация двух серверов

ReMaRk

Новичок
Синхронизация двух серверов

Подскажить идеи плиз... как можно периодично синхронизовать данные двух серверов? Имеется два сервера с MySQL и php на оных, на каждом сервере периодически вставляются, изменяются и удаляются данные из MySQL. Необходимо "зеркалить" все изменения. Как это реализовать программным путем?
На пальцах:
сервер "А" - база 1А, база 2А, база 1Б, база 2Б
севрер "Б" - база 1А, база 2А, база 1Б, база 2Б
на сервере "А" изменяются базы 1А, 2А
на сервере "Б" изменяются базы 1Б, 2Б
необходимо, чтоб на сервер "А" попадали (синхронизировались) данные из баз 1Б, 2Б сервера "Б", а на сервер "Б" данные из баз 1А, 2А сервера "А"
Базы 1Б, 2Б на сервере "А" не меняются;
Базы 1А, 2А на сервере "Б" не меняются.
 

fixxxer

К.О.
Партнер клуба
Базы 1Б, 2Б на сервере "А" не меняются;
Базы 1А, 2А на сервере "Б" не меняются.
Ну тогда это не синхронизация, а обычный backup. Копируй файлы (ftp/nfs/...) и всё... Только лочить в shared mode на время копирования не забывай.
 

ReMaRk

Новичок
не совсем... бэкапы это немного затруднительно, один из серверов у хостеров, по этому и сложность...
 

ReMaRk

Новичок
а зачем мне каждый раз полные дампы получать таблиц?
они же разрастаются... хотелось бы только измененные получать записи и новые...
Как это можно сделать?
 

Апельсин

Оранжевое создание
ну так установи как ты будешь определять новая у тебя это запись или старая и делай дамп только новых записей.

или выбирай данные при помощи SELECT INTO OUTFILE, а потом используй LOAD DATA вместе с REPLACE или IGNORE в зависимости от того, что тебе надо:

http://www.mysql.com/doc/en/LOAD_DATA.html
 

ReMaRk

Новичок
дык а как мне в частности на удаленном сервере автоматизировать процесс создания дампов?
 

BelimovGV

Guest
по поводу автоматизации читай статью "PHP Почтовый робот и CRON". Хотя лучше программно из какого-нить планировщика
 

BelimovGV

Guest
Запускай скрипт на серваке (если хош сэкономить) или пиши программку которая будет работать локально. А принцип синхронизации один - берешь набор измененных данных (по timestamp-у) из одной таблицы, по ключу обновляешь(добавляешь) к другой
 

ReMaRk

Новичок
так и сделана "первая часть марлезонского балета" загвоздка вся во второй части... как их вставлять на стороне удаленного сервера...?
 

BelimovGV

Guest
да, некоторые провайдеры запрещают подключение к удаленному хосту с MySQL... Но таких - меньшинство...(если вы об этом), и тем более есть возможность выполнять скрипт на их стороне. А к вопросу обновления: знач.получили пакет обновления из таблицы 1 для таблицы 2. Далее если ключ1<max(ключ2)-> update, > -> insert
Или мы не поняли друг-друга?
 

ReMaRk

Новичок
мой провайдер входит в большинство (которые запрещают подключение к удаленному хосту)
 
Сверху