Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Перекинуть данные между серверами (Олег) 01/10/2014 - 10:50:17
      Re: Перекинуть данные между серверами (Akina) 01/10/2014 - 14:47:30
      Re: Перекинуть данные между серверами (Олег) 01/10/2014 - 17:07:44
      Re: Перекинуть данные между серверами (Akina) 01/10/2014 - 17:51:51
      Re: Перекинуть данные между серверами (Олег) 01/10/2014 - 18:47:37
      Re: Перекинуть данные между серверами (Akina) 01/10/2014 - 20:32:06
      Re: Перекинуть данные между серверами (Олег) 01/10/2014 - 21:40:17
      Re: Перекинуть данные между серверами (Олег) 01/10/2014 - 22:01:43
      Re: Перекинуть данные между серверами (Akina) 02/10/2014 - 11:26:57
      Re: Перекинуть данные между серверами (Akina) 02/10/2014 - 11:54:08
      Re: Перекинуть данные между серверами (Akina) 02/10/2014 - 11:56:55
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 16:38:50
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 16:48:22
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 17:36:59
      Re: Перекинуть данные между серверами (Akina) 02/10/2014 - 18:14:51
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 20:07:38
      Re: Перекинуть данные между серверами (Akina) 02/10/2014 - 20:45:22
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 20:45:36
      Re: Перекинуть данные между серверами (Олег) 02/10/2014 - 21:21:21
      Re: Перекинуть данные между серверами (Akina) 03/10/2014 - 08:49:22
      Re: Перекинуть данные между серверами (Олег) 03/10/2014 - 14:09:01
      Re: Перекинуть данные между серверами (Akina) 03/10/2014 - 15:25:38
      Re: Перекинуть данные между серверами (Олег) 03/10/2014 - 16:30:54
      Re: Перекинуть данные между серверами (Akina) 03/10/2014 - 17:50:01
      Re: Перекинуть данные между серверами (Олег) 03/10/2014 - 19:02:58
      Re: Перекинуть данные между серверами (Akina) 03/10/2014 - 19:41:51
      Re: Перекинуть данные между серверами (Олег) 03/10/2014 - 20:52:04
      Re: Перекинуть данные между серверами (Олег) 04/10/2014 - 19:25:23

> Original message text:
> From: Олег - 01/10/2014 - 10:50:17
> Subject:Перекинуть данные между серверами
> -----------------
> Привет всем
>
> Есть таблица на одном\их сервере\ах и на другом\их. Формат полностью идентичен. Компы на которых сервера в локальной сети. Нужно данные с одной таблицы переносить в другую допустим раз в минуту и после этого удалять их в таблице источнике. Про репликацию знаю и использую для синхронизации другой таблицы(один-ко-многим), но как репликацию использовать в случае (много-ко-много) не понимаю.
> Потому вопрос такой. Есть ли такой примерно SQL запрос "INSERT INTO сервер2.БД2.tab2 * SELECT * FROM сервер1.БД1.tab1". DSN БД прописаны, версия MySQL 5
>


From: Akina - 02/10/2014 - 11:54:08
Subject:Перекинуть данные между серверами
-----------------
Вот одна из возможных схем, которая пришла в голову. Она не без слабых мест, но работоспособна на первый взгляд.

1) Из серверов Тип 3 формируется кольцо репликации. Кольцо настраивается на игнорирование дублирования ключей.
2) В кольцо вводится дополнительный сервер (или несколько серверов), который не генерирует информации. Он участвует в кольцевой репликации, а также выполняет функции связующего между кольцом и серверами типов 1 и 2.
3) Передача информации в кольцо серверов тип 3 от серверов тип 1 и от кольца серверов тип 3 к серверам тип 2 осуществляется без использования механизма репликации, на основе выгружаемых дампов изменённых данных в согласованном формате (вероятно, через SELECT INTO OUTFILE / LOAD DATA INFILE, но можно и в формате SQL-скриптов). Серверы тип 1 выгружают файловый вид данных на выделенный сервер типа 3 (например, по ФТП), сервер типа 3 формирует свою выгрузку, которую забирают серверы типа 2 опять же по ФТП.

Для реализации процесса выгрузки на серверах типов 1 и 3 потребуется в каждую таблицу добавить поле. В это поле будет помещаться номер выгрузки. Т.е. при пополнении данными поле пустое (NULL), при запуске процесса выгрузки по эвенту все поля с NULL заполняются значением с очередным номером выгрузки, после чего выполняется выгрузка с отбором по значению этого поля.

Для реализации процесса загрузки на серверах типов 3 и 2 создаётся служебная таблица, в которой фиксируется факт загрузки данных из файла выгрузки - фиксируются номер выгрузки, номер сервера-источника и результат загрузки (удача/сбой).

Такое дополнение позволит при необходимости повторно в ручном или полуавтоматическом режиме повторить загрузку проблемных выгрузок, причём в ручном режиме на сервере типа 3 - вообще на любом сервере кольца, а не только на выделенном.

Одновременно массив файлов выгрузки вместе с начальным дампом фактически является дополнительной резервной копией данных.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43242



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |