programing

전체 MySQL 데이터베이스 복제?아이디어? 사람들은 무엇을 합니까?

telecom 2023. 7. 14. 23:39
반응형

전체 MySQL 데이터베이스 복제?아이디어? 사람들은 무엇을 합니까?

현재 MySQL을 실행하는 두 대의 Linux 서버가 있습니다. 하나는 10Mbit/s 업로드 파이프(메인 서버) 아래에 있는 랙에 있고 다른 하나는 3Mbit/s 업로드 파이프(미러)에서 몇 마일 떨어진 곳에 있습니다.

두 서버 모두에서 데이터를 지속적으로 복제할 수 있기를 원하지만 여러 장애물에 부딪혔습니다.그 중 하나는 MySQL 마스터/슬레이브 구성에서 때때로 일부 문이 떨어집니다. 즉, 미러 URL에 로그온하는 일부 사용자는 메인 서버에 있는 것으로 알고 있는 데이터를 보지 못합니다.매달 한 번씩 의미 있는 데이터 블록에서 이러한 현상이 발생하기 때문에 이를 감수하고 "패킷 손실" 문제로 간주할 수 있다고 가정합니다(즉, 신이 알고 있지만 보상해 드리겠습니다).

또 다른 가장 중요하고 성가신 반복적인 문제는 어떤 이유에서인지 한쪽에서 주요 업로드 또는 업데이트(또는 재부팅)를 수행하고 링크를 끊어야 하는 경우 마스터에서 데이터를 로드할 수 없고 한쪽에서 수동으로 덤프하고 다른 쪽에서 업로드해야 하는 경우입니다. 이는 현재 0.5TB 상당의 데이터를 이동하는 상당한 작업입니다.

이것을 위한 소프트웨어가 있습니까?MySQL("회사")에서 매우 비싼 서비스(전체 데이터베이스 복제)로 제공하는 것으로 알고 있습니다.밖에 있는 사람들은 무엇을 합니까?구성된 방식으로 자동 장애 조치를 실행합니다. 한 서버가 작동하지 않으면 기본 URL이 다른 서버로 해결됩니다.

Percona는 마스터와 서버 간의 불일치를 감지하고 최소한의 변경 사항을 다시 적용하여 동기화할 수 있는 무료 도구를 제공합니다.

GoldenGate는 매우 좋은 솔루션이지만 MySQL 복제기만큼 비쌀 수 있습니다.

기본적으로 저널을 따라가고, 커밋된 내용에 따라 변경사항을 적용합니다.또한 양방향 복제(어려운 작업) 및 이기종 시스템 간 복제를 지원합니다.

저널 파일을 처리하여 작업하므로 소스 시스템의 성능에 영향을 주지 않고 대규모 분산 복제를 수행할 수 있습니다.

삭제된 문을 본 적은 없지만 네트워크 문제로 인해 릴레이 로그가 손상될 수 있는 버그가 있습니다.이 수정 없이 mysql을 실행하지 마십시오.

5.0.56, 5.1.24 및 6.0.5 변경 로그에 다음과 같이 문서화되어 있습니다.

   Network timeouts between the master and the slave could result
   in corruption of the relay log.

http://bugs.mysql.com/bug.php?id=26489

언급URL : https://stackoverflow.com/questions/3798/full-complete-mysql-database-replication-ideas-what-do-people-do

반응형