2008-08-29 4 views
2

복제 서버를 설정할 때 힘들었습니다. 복제 문제를 모니터하고 해결할 수있는 프로그램 (OS X, Win, Linux 또는 PHP 문제 없음)이 있습니까? (BTW, 그 -uhm- 다음을 위해이 문제를 here, here, herehere에 있었다 필자. 하나는 내가 대단히 두꺼운해야합니다 이것에 대해 잘못된 길을 가거나거야)mysql 소프트웨어 : 내 mysql 복제 서버를 감독하는 제안?

내 프로덕션 데이터베이스는 몇 메가입니다 크기와 성장. 매번 데이터베이스 복제가 중단되고 데이터베이스가 필연적으로 동기화를 벗어나기 시작합니다. 덤프에서 마지막으로 재 동기화하는 데 왕복 4 시간이 걸립니다!

은 언제나, 심지어 동기화 후, 나는 쇼 - 중지 이런 종류의 오류 "로 실행 밀접하게 아마도 소프트웨어를 진행 뭐죠 모니터링 할 수있는 방법이 있다면

Error 'Duplicate entry '252440' for key 1' on query. 

내가 그것을 사랑 .. 그것을 다루는 나는 나를 모두 반영하기 위해 더 나은 또는 다른 방법을 내 데이터를 모니터링 할 수 있습니다 서비스 기업도 모두 귀를 해요

편집이 :. 내 이전 문제를 겪고 난 엄청난 도움이 this을 발견했다. 나는 여전히 모니터링 솔루션에 대한 모든 귀입니다.

환호,

/MP

답변

3

우리가 무료 tools from Maatkit ... 간단하면서도 효율적으로 사용하는 서버를 모니터링합니다.

바이너리 복제는 5.1에서 사용할 수 있습니다. 그래서 당신은 몇 가지 공을 가지고 있다고 생각합니다. 우리는 여전히 5.0을 사용하며 문제없이 작동합니다. 물론 문제에 대한 우리의 몫이있었습니다.

우리 앞에로드 밸런서로 MySQL의 프록시와 마스터 - 마스터 복제를 사용하고, 필요 오류에서 그것을 방지하기 위해 : 우리 모두가 고유 인덱스에게 몇 가지 경우 경우에 대한

  • 을 제거

    • 우리는 INSERT 대신 REPLACE를 사용해야한다는 고유 한 제약 조건을 필요로했습니다. (MySql Proxy는 적절한 사용법을 지키기 위해 사용될 수 있습니다. 쿼리를 다시 작성할 수도 있습니다.)
    • 집중 형 보고서를 작성하는 예약 된 스크립트는 항상 동일한 서버에 액세스합니다 로드 밸런서는 아님) ... 위험한 작업이 안전하게 복제되도록

    그래, 나는 그것이 간단하고 어리석은 소리가 난다는 것을 알고 있지만, 우리가 가진 모든 문제의 95 %를 해결했다.

  • 0

    우리는 mysql 복제를 사용하여 데이터를 30 대의 서버에 복제합니다. 우리는 nagios와 그들을 모니터링합니다. 복제 상태를 확인하고 이벤트 핸들러를 사용하여 'SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; 슬레이브 시작; '. 그러면 오류가 수정되지만 오류의 원인이 된 삽입이 손실됩니다.

    오류에 대해 슬레이브에서 메모리 테이블을 사용합니까? 우리가 mysql의 최신 릴리스에서 버그로 인해 발생한 많은 오류가 발생한 유일한 시간이기 때문에 나는 이것을 묻습니다. '테이블에서 삭제 필드 = 값'은 여러 행이있는 경우에도 메모리 테이블에서 하나의 행만 삭제합니다.

    mysql bug descritpion