2010-08-15 5 views
4

공유 서버에 호스팅 된 여러 데이터베이스와 개발에 사용하는 로컬 테스트 서버가 있습니다.호스팅 계정과 로컬 테스트 서버간에 데이터베이스를 동기화하는 방법은 무엇입니까?

데이터베이스의 두 세트를 다소 (매일 또는 그 이상) 동기화하고 싶습니다.

지금까지 문제를 해결하기위한 나의 아이디어는 매우 서투른 것처럼 보입니다. 어쨌든, 참조를 위해, 여기에 내가 지금까지 고려 한 것입니다 :

  1. 온라인 데이터베이스, 쓰레기 로컬 데이터베이스에서 데이터베이스 덤프를 확인하고 덤프에서 데이터베이스를 다시 작성하십시오. 그것은 많은 작업과 많은 다운로드 시간을 필요로합니다 (내가 원하는만큼 그것을하지 않을 것을 보장합니다)

  2. 새로운 데이터에 액세스하려면 작은 웹 서비스를 작성하고 상기 웹 서비스와 통신하고, 최신 데이터를 다운로드하고, 로컬 데이터베이스를 업데이트하기위한 로컬 애플리케이션.

두 솔루션 모두 이미 수천 번 이상 해결 된 문제에 대한 많은 작업처럼 들립니다. 아니면 완전히 간과 한 기존 기능 일 수도 있습니다.

데이터베이스를 동기화 상태로 유지하는 쉬운 방법이 있습니까? 이상적으로 내가 한 번 설정할 수있는 일정과 잊을 수있는 무언가.

두 서버에서 MySQL 5 (MyISAM) 데이터베이스를 사용하고 있습니다.

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

편집 : 복제에 모습을 가지고 있지만, 공유 호스팅 충분히 나를 포기하지 않기 때문에 내가 그 길을 갈 수 없어 보인다 서버 자체에 대한 제어 (데이터베이스에서 대부분의 권한을 가지지 만 MySQL 서버에서는 그렇지 않습니다.)

데이터 동기화 만 유지하면됩니다. 서버에서 모든 권한을 필요로하지 않는 다른 솔루션이 있습니까?


편집 2 : 죄송합니다, 나는 Windows 전용 솔루션이 작동하지 않도록, 내가 공유 서버의 LAMP 스택에서 실행하고 언급하는 것을 잊었다.

나는이 문제에 대한 명백한 off-the-shelves 해결책이 없음을 알고 놀라게됩니다.

+0

데이터 만 업데이트 하시겠습니까, 아니면 스키마 변경 사항을 로컬 데이터베이스에서도 덮어 씁니까? –

+0

@ 윌 : 그냥 데이터. 스키마 변경이 있으면 프로덕션 서버가 변경되기 전에 테스트 서버에서 먼저 구현되고 테스트됩니다. – Sylverdrag

+0

Sylverdrag를 대신 할 수있는 타사 소프트웨어가 없으면 webservice 방식과 같은 사운드가 최선의 방법입니다. 백업/복원 접근법은 로컬 스키마 변경 사항을 관리하기가 까다로울 수 있습니다. –

답변

2

복제를 고려해 보셨습니까? 그것은 사소한 일이 아니지만 당신이 원하는 것일 수 있습니다. 자세한 내용은 여기를 참조하십시오 ... http://dev.mysql.com/doc/refman/5.0/en/replication-configuration.html

+0

공유 호스팅입니다. 복제 마스터로 MySQL 서버를 설정하는 데 필요한 제어 수준이 없다고 생각합니다. 서버의 구성을 변경하거나 다시 시작할 수 없습니다. – Sylverdrag

0

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 데이터베이스에서 작동 할 (마지막 동기화를 추적하는) 앵커에 대한 추가 테이블이 필요합니다,하지만 당신은 늘 한 사용자가 액세스 할 수있는 모든 권한이 필요합니다 db.

복제가 더 간단 할 수 있습니다. :) 그러나 이것은 귀하의 경우에 효과가있을 수 있습니다.

+0

죄송합니다, 램프 스택에 있음을 깜빡하고 있습니다. – Sylverdrag

+0

당신은 서버 측에 윈도우가 필요 없다. (동기화 서버 (호스트 서버와 테스트 서버 모두에 연결되는) 동기화를 실행할 수있는 하나의 윈도우 머신이 있다면) 괜찮을 것이다. 응용 프로그램은 모든 예비 Windows 시스템에서 실행할 수 있습니다. –

+0

좋아, 그럼 그때 좀 더 자세히 살펴 보겠습니다. – Sylverdrag

관련 문제