2012-02-13 4 views
0

테이블 체크섬 메커니즘을 구현하여 두 마스터 대 마스터 MySQL 서버간에 복제가 발생했음을 확인하려고합니다. 그러나 해싱 함수가 항상 충돌 위험을 가지고 있음을 알기 전에 충돌 시나리오의 위험을 평가하고 싶습니다. 누구든지 유사한 정보를 공유하거나 유사한 평가에 연결되어 있습니까?MySQL checksum collision assesment

제 의견으로는 2 개의 복제 된 서버에서 동일한 테이블의 체크섬을 사용하면 기본적으로 충돌 위험을 무시할 수 있지만 사실을 통해 내 가정을 증명해야합니다.

http://dev.mysql.com/doc/refman/5.0/en/checksum-table.html

답변

2

AFAIK, MySQL은 CRC32 algorithm와 테이블의 체크섬을 계산합니다. 거의 모든 데이터에 대해 매우 안전하지만 충돌 가능성에 대해서는 CRC32 Collision을 참조하십시오.

또한 Percona Toolkit을 제안합니다. 체크섬으로 테이블을 비교하는 비슷한 도구가 있습니다.

그리고 나는 또한 Maatkit's solution - mk-table-checksum을 제안합니다. Maatkit이 Percona Toolkit에 병합되었습니다. @ BaronSchwartz에게 감사합니다.

+0

정확히 내가 필요한 것! 감사합니다 – Stainedart

+1

이것은 맞습니다; 그것은 CRC32를 사용합니다. Maatkit 대신 Percona Toolkit을 제안합니다. Maatkit은 단종되었습니다 (Percona Toolkit에 병합 됨). –

+0

@BaronSchwartz Yeap, 맞아. 방금 잊었 어. 감사! – lqez