2011-09-30 4 views
0

여기 몇 개의 스레드를 이미 읽었으며 클러스터 복제를 포함하여 MySQL 복제 문서를 살펴 보았습니다.하지만 실제로 그렇게 원하는 것은 아니며 적절하게 너무 복잡하다고 생각합니다.올바른 방법이 있습니까? 2 MySQL DB 사이의 자동 동기화

두 명의 다른 사람이 동시에 액세스/조작 할 수있는 로컬 및 원격 DB가 있습니다. 내가하고 싶은 것은 가능한 한 빨리 동기화하는 것입니다 (즉시 또는 곧 로컬 머신이 온라인 상태가되는 것을 의미합니다). 두 DB는 내 PHP 스크립트에서만 조작 할 수 있습니다.

나의 접근 방식은 다음

  1. 항상 너무
  2. 하자 원격 DB에 SQL 쿼리를 보내는 loal 컴퓨터에 내 PHP 스크립트를 보자 : 로컬 컴퓨터가 온라인

    경우 원격 컴퓨터의 PHP 스크립트는 항상 쿼리를 저장하고 ...

  3. ... 로컬 컴퓨터가 x 분마다 새로운 쿼리를 원격 데이터베이스에 요청하고 로컬로 적용하도록합니다.

로컬 컴퓨터가 오프라인 인 경우 :

이 두 시스템에 대해서도 2 단계를 수행하고
로컬 컴퓨터가 다시 온라인 상태로 즉시 원격 DB에 저장된 쿼리를 보냅니다. 또한 원격 시스템에서 쿼리를 가져옵니다.

내 질문은 :

  1. 난 그냥 복제를 오해 않았거나 내 방법 내 경우에는 더 쉬울 것 맞죠? 아니면 제가 성취하고자하는 다른 좋은 해결책이 있습니까?
  2. 내 로컬 컴퓨터가 온라인/오프라인 상태인지 어떻게 확인할 수 있습니까? 자바 스크립트를 사용해야 할 것 같지만 어떻게해야할지 모르겠다. 브라우저/내 스크립트는 항상 로컬 시스템에서 실행됩니다.

답변

3

설명하시는 말씀은 master-master or multi-master replication입니다. 이 설정 방법은 웹에서 plentyoftutorials입니다. 확실히 MySQL에서의 복제가 정확히 우아하지 않은 것처럼이 솔루션을 프로덕션에 적용하기 전에 연구를해야합니다. 뭔가 잘못되었을 때를 복구하는 방법을 알아야합니다.

+1

+1 -이 바퀴를 다시 발명하려고하지 마십시오. 많은 복잡성을 해결하기 위해 MySQL 복제에 너무 많은 시간과 노력을 투입했습니다. 이 명령은 발행 된 쿼리를 저장하기 위해 바이너리 로그를 사용하여 기술 한 것을 효과적으로 처리하여 슬레이브를 업데이트 할 수 있도록한다. 필요한 경우 마스터 - 마스터 복제를 참조하십시오. 마스터 - 슬레이브 구성은 그다지 어렵지 않습니다. 단계별로 지침을 따르십시오. 나는 그것이 궁극적으로 많은 두통과 미래의 문제를 해결할 것이라고 생각합니다. – drew010

+0

나는 내 하루가 아니라 문서를 통해 자신의 길을 발견하기에는 너무 어리 석다. 이제 원격 서버의 mysql 설정 파일에 접근 할 수 있기를 바란다. 고마워요! – Anonymous

+0

정말 비싼 패키지를 사용하지 않으면 내 호스팅 업체가 복제를 지원하지 않는다고 들었습니다. 표준 절차입니까?/ – Anonymous

관련 문제