Как синхронизировать базы данных между учетной записью хостинга и локальным сервером тестирования? - PullRequest
4 голосов
/ 15 августа 2010

У меня есть несколько баз данных, размещенных на общем сервере, и локальный тестовый сервер, который я использую для разработки.

Я бы хотел несколько синхронизировать оба набора баз данных (более или менее ежедневно).

Пока что мои идеи по решению проблемы кажутся очень неуклюжими.В любом случае, для справки, вот что я рассмотрел до сих пор:

  1. Создайте дамп базы данных из онлайн-баз данных, очистите локальные базы данных и воссоздайте базы данных из дампа.Это большая работа и требует много времени на загрузку (что гарантирует, что я не буду делать это так, как мне хотелось бы)

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

Оба решения звучат как большая работа дляпроблема, которая, вероятно, уже решена миллион раз.Или, может быть, это даже существующая функция, которую я полностью упустил из виду.

Есть ли простой способ более или менее синхронизировать базы данных?В идеале это то, что я могу настроить один раз, запланировать и забыть.

Я использую базы данных MySQL 5 (MyISAM) на обоих серверах.

=============

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

Мне нужно только синхронизировать данные, ничего больше.Есть ли другое решение, которое не требует полного контроля на сервере?


Редактировать 2: Извините, я забыл упомянуть, что я работаю в стеке LAMP на общем сервере, поэтому только для Windowsрешения не будут работать.

Я удивлен, увидев, что не существует очевидного готового решения этой проблемы.

Ответы [ 2 ]

2 голосов
/ 15 августа 2010

Рассматривали ли вы репликацию?Это не шутка, но может быть то, что вы хотите.Подробнее смотрите здесь ... http://dev.mysql.com/doc/refman/5.0/en/replication-configuration.html

0 голосов
/ 19 августа 2010

Взгляните на Microsoft Sync Framework - вам нужно будет написать код в .net, но он может решить ваши проблемы.

http://msdn.microsoft.com/en-in/sync/default(en-us).aspx

Вот пример для SQL-сервера, но он также может быть адаптирован для mysql с помощью поставщика ado.net для Mysql.

http://code.msdn.microsoft.com/sync/Release/ProjectReleases.aspx?ReleaseId=4835

Вам понадобятся дополнительные таблицы для отслеживания изменений и привязок (отслеживания последней синхронизации), чтобы это работало в вашей базе данных mysql, но вам не потребуется полный контроль, пока вы можете получить доступ к БД.

Репликация была бы проще :), но это может сработать в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...