@strelkovandreyvalerievich

Как синхронизировать две таблицы MySQL?

Добрый день, подскажите пожалуйста, стоит задача в синхронизации двух таблиц.
А именно например есть 2 таблицы:
ORIGINAL
ID;TITLE

CLONE_ORIGINAL
ID;TITLE

И в первой и во второй таблице ID как первичный, уникальный ключ (не AUTOINCREMENT)
Задача такая, что по расписанию, например каждые 15 минут, синхронизировать CLONE_ORIGINAL с ORIGINAL
Т.е. допустим в ORIGINAL появилась запись:
1;ANDREY
То через 15 минут в CLONE_ORIGINAL такая же появилась,
далее если в оригинал появилась 2:Mihail, то в CLONE также она появилась,
а вот если в ORIGINAL 2;Mihail стала 2;Mike, то аналогично в CLONE_ORIGINAL строка 2;Mihail должна стать 2;Mike

Я так понимаю, если тут нужно идти методом INSERT … ON DUPLICATE KEY UPDATE , но могу ошибаться, т.к. не до конца понял как он устроен.

Также в идеале ещё нужно добиться того, что если вдруг в ORIGINAL исчезла строка 1;Andrey то в CLONE_ORIGINAL должно произойти аналогично. Тут я как понимаю уже нужно какой то признак заводить, что то вроде поля даты последнего изменения, и например те что старше 15-20 минут удалять.

Таблица ORIGINAL представляет собой что то вроде DBLINK (а именно MariaDB Connect Engine) из сторонней базы (даже не MySQL), потому здесь получается TRIGGERS не применимы
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
@supgordan
Middle PHP Developer
Можно поступить проще сделать 2 базы и настроить между ними master-slave, это называется репликацией
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы