RayZ
@RayZ
Веб-разработчик

Репликация данных нескольких таблиц в для двух независимых баз в одну сторону

Доброго времени суток!
Есть две независимые БД с одинаковой структурой. Требуется пополнять первую БД данными избранных таблиц из второй БД.
По сути требуется реплицировать данные второй БД в первую и все.

На сколько я понимаю, 2 независимые базы требуют master-master репликацию. Но репликация односторонняя. Поэтому в конфигурации первого сервера требуется поставить в игнорирование репликации всех таблиц или БД?
Поправьте меня, если я не прав.
  • Вопрос задан
  • 7042 просмотра
Пригласить эксперта
Ответы на вопрос 2
mgyk
@mgyk
С репликацие тут можно работать, только если вы точно уверены, что никакие ключи не будут пересекаться, и кроме этого, что вы будете делать если в какой-то момент она встанет, и тогда будет совершенно непонятно какая часть данных откуда.

Делайте лучше скриптом, что-то вроде
1) SELECT * FROM A.T1 into outfile 'backup-XXXX";
2) SELECT * FROM B.T1 into outfile 'update-XXXX';
3) LOAD DATA INFILE 'update-XXXX' into A.T1;

Если нужно online все, то тогда лучше сделать это на уровне приложения, чтобы сразу во все таблички данные дописывало. Там и ошибки будет проще ловить.
Ответ написан
subvillion
@subvillion
Реплицировать таблицы можно, можно в режиме master-master, но изначально данные в таблицах должны быть одинаковые. Либо пустые, либо один дамп. Тк изменения в бд пишутся в бинарный лог мастера после чего воспроизводятся на слейве, в вашем случае существующие данные из В никогда не попадут в А, только новые записи после включения репликации. И наоборот.
Ответ написан
Ваш ответ на вопрос

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

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