MySQL 데이터베이스 복제/동기화 테스트

MySQL 데이터베이스 복제/동기화 테스트

몇 개의 슬레이브 데이터베이스에 복제되는 MySQL 마스터 데이터베이스를 설정 중입니다.

내 질문은 슬레이브 데이터베이스가 최신 상태인지 모니터링 및/또는 테스트하고 복제를 중지시키는 오류가 있을 때 관리자에게 경고하는 모범 사례가 무엇인지입니다.

모니터링 도구를 검색했지만 적합한 도구를 찾지 못했습니다.

또한 슬레이브 간의 동기화를 테스트하는 '모범 사례' 접근 방식은 무엇입니까? db 복제에 대한 단위 테스트와 같은 것이 있습니까?

이 문제에 대한 나의 무지가 누군가에게 불쾌감을 주었다면 사과드립니다.

답변1

복제의 가장 큰 문제는 확인입니다.

  1. 노드가 모두 작동 중이고
  2. 모든 노드가 통신 중입니다(분할 브레인 아님).
  3. 복제 로그 처리
  4. 그리고 복제 지연

1, 3, 4는 관련 노드에서 SHOW MASTER STATUS / SHOW SLAVE STATUS를 사용하여 캡처할 수 있지만 복제 지연의 정확도는 1초에 불과하며 각 홉에서만 가능합니다. Percona 툴킷에는 보다 정확한 복제 지연을 얻기 위한 스크립트가 있습니다.

다중 마스터 복제 사용(예:텅스텐,페르코나) 많은 고통을 덜어 주지만 설정하려면 추가 노력/소프트웨어가 필요합니다.

ndoes 간의 네트워크가 실패하면 프로세스는 모두 정상적으로 실행될 수 있지만 데이터를 전송할 수는 없습니다. 각 노드를 모니터링하여 업스트림 노드에 연결할 수 있는지 확인해야 합니다.

몇몇 슬레이브 데이터베이스에 복제되는 MySQL 마스터 데이터베이스

가장 좋은 방법은 슬레이브 중 하나를 마스터로 지정하는 것입니다(양방향 복제). 이렇게 하면 가동 중단이 발생하거나 인덱스 재구축, 백업, 스키마 변경과 같은 유지 관리 작업을 위해 쉽게 전환할 수 있습니다.

슬레이브 노드 수에 따라 다음을 지정할 수도 있습니다.팬아웃 노드변경 사항을 전파합니다.

에스컬레이션 관리, 데이터 수집을 위한 스크립트 예약 등의 측면에서 이를 수행하는 데 사용할 수 있는 도구가 많이 있습니다. 저는 nagios를 사용하고 다른 많은 사람들도 마찬가지입니다.

답변2

내 질문은 슬레이브 데이터베이스가 최신인지 모니터링 및/또는 테스트하는 모범 사례가 무엇인지입니다.

간단한 테스트를 위해 마스터에 데이터를 삽입/업데이트하고 슬레이브에 복제되는지 확인합니다.

하지만 일관성 검사를 위해서는pt-테이블-체크섬당신이 찾고있는 것입니다.

예를 들어:

pt-table-checksum localhost --empty-replicate-table --databases db --nocheck-replication-filters --replicate percona.checksums > /var/log/pt-table-checksum.log 2>&1

오류가 발생하여 복제가 중지되면 관리자에게 경고합니다.

Nagios를 사용하는 경우check_mysql_health플러그인은 슬레이브 상태(실행 중인지 여부)를 모니터링하는 데 도움이 될 수 있습니다. 하지만 일관성을 모니터링하려면 다음을 살펴보세요.pmp-체크-pt-테이블-체크섬플러그인.

놓치지 마세요pt-테이블-동기화일관성이 없는 경우:

pt-table-sync -v --print --sync-to-master h=localhost,D=db,t=table
pt-table-sync -v --execute --sync-to-master h=localhost,D=db,t=table

옵션을 먼저 사용해야 한다는 점을 명심하세요 --print.

답변3

노예로 할

SHOW SLAVE STATUS\G;

다음을 받는 경우:

   Slave_IO_Running: Yes
  Slave_SQL_Running: Yes

이는 거의 다 왔다는 것을 의미합니다. 테스트하려면 MASTER에서 쓰기 트랜잭션을 시도하고 슬레이브에서 자동으로 복제되는지 확인하세요.

답변4

모니터링 도구를 검색했지만 적합한 도구를 찾지 못했습니다.

당신은 사용할 수 있습니다선인장용 Percona MySQL 모니터링 템플릿. 도구를 사용하는 MySQL 복제 템플릿을 확인하세요 pt-heartbeat.

건배

관련 정보