master 와 slave 간
데이터 일관성 체크를 위한 툴중 하나로 해당 툴 테스트 진행내역 공유한다.
부하 발생이 있을 수 있으므로 운영시간 외에 실행을 권장한다.
일반적으로 master DB에서 실행해야 한다.
실행 원리 자체가
- 마스터에서 실행하여 모든 테이블의 체크섬을 계산
- 슬레이브로 복제를 통해 체크섬 비교
slave DB에서는 역방향으로 체크할 수 없다.
기본 실행 명령
# 기본실행 명령어
pt-table-checksum \
-h 마스터호스트 \
-u 사용자 \
-p 패스워드
# 특정 데이터베이스만 체크
pt-table-checksum \
--databases=mydb \
--tables=users,orders
# 대규모 데이터 최적화
pt-table-checksum \
--chunk-size=1000 \
--max-load="Threads_running=50"
# 2. 상세 불일치 내역 분석
mysqldbcompare \
--server1=master \
--server2=slave \
데이터베이스명
pt-table-checksum \
--chunk-size-limit=2.0 \
--max-load="Threads_running=30" \
--critical-load="Threads_running=60"
pt-table-checksum --user=root --password='Test!231' --host=192.168.100.179 --no-check-binlog-format
checksum 결과
TS: 체크섬 시간 |
ERRORS: 오류 횟수 |
DIFFS: 데이터 불일치 발견 횟수 |
ROWS: 전체 행 수 |
DIFFS_ROWS 불일치 건수 |
CHUNKS: 체크섬 수행 청크(분할) 수 |
SKIPPED: 건너뛴 행 수 |
TIME: 체크섬 수행 시간 |
TABLE: 검사 대상 테이블 |
case 1) master에는 존재하고 slave에는 없는 테이블
case2) master 와 slave의 건수가 다를때
test 테이블의 건수가 7개 다름을 check
master 엔 8개 slave엔 5개
test 테이블의 건수가 3개 다름을 check
'Mysql & Maria > admin' 카테고리의 다른 글
SHOW SLAVE STATUS (0) | 2024.12.03 |
---|---|
replication 깨진 후 bin log 복구 (2) | 2024.12.03 |
mysql 5.7 replication 구성 (0) | 2024.11.19 |
mysql 모니터링 관련 (0) | 2024.10.24 |
percona toolkit 설치 (0) | 2024.09.14 |