Правильный путь? Автоматическая Синхронизация между 2 MySQL БД - PullRequest
0 голосов
/ 30 сентября 2011

Я уже прочитал несколько веток здесь, и я также просмотрел документацию по репликации MySQL (включая кластерную репликацию), но я думаю, что это не то, чего я действительно хочу, и, вероятно, слишком сложно.

У меня есть локальная и удаленная БД, к которым могут обращаться и манипулировать 2 разных человека одновременно. То, что я хотел бы сделать, это синхронизировать их как можно скорее (значит, мгновенно или как только локальный компьютер подключится к сети). Обе базы данных работают только с моими собственными PHP-скриптами.

Мой подход следующий:

Если локальный компьютер подключен к сети :

  1. Пусть мой PHP-сценарий на компьютере пользователя всегда отправляет запрос SQL и на удаленную БД
  2. Пусть мой PHP Script на удаленной машине всегда хранит свои запросы и ...
  3. ... разрешить локальной машине каждые 10 минут запрашивать у удаленной БД новые запросы и применять их локально.

Если локальный компьютер отключен :

Выполните шаг 2. также для обеих машин и отправьте сохраненные запросы в удаленную БД, как только
локальная машина снова выходит в интернет. Также обязательно извлеките запросы с удаленного компьютера.

Мои вопросы:

  1. Я просто неправильно понял Репликацию или я прав, что мой путь будет проще в моем случае? Или есть другое хорошее решение для того, чего я пытаюсь достичь?
  2. Есть идеи, как я могу проверить, подключен ли мой локальный компьютер к сети или нет? Думаю, мне придется использовать JavaScript, но я не знаю как. Браузер / мой скрипт всегда будет работать на локальной машине.

1 Ответ

3 голосов
/ 30 сентября 2011

То, что вы описываете, это master-master или multi-master репликация .Есть множество из учебных пособий о том, как настроить это через Интернет.Обязательно проведите исследование, прежде чем внедрять подобное решение в производство, поскольку репликация в MySQL не совсем элегантна - вам нужно знать, как восстановить, если (когда?) Что-то пойдет не так.

...