MySQL 마스터-슬레이브 복제 원리에 대한 자세한 설명
먼저 데이터베이스에는 모든 SQL 문을 기록하는 "bin-log" 바이너리 파일이 있으며 "bin-log"에서 SQL 문을 복사합니다. 마지막으로 데이터베이스의 "relay-log" 리두 로그 파일에 복사된 SQL 문을 실행하면 됩니다.
마스터-슬레이브 복제
마스터-슬레이브 복제는 마스터 데이터베이스라고 불리는 마스터 데이터베이스와 완전히 동일한 데이터베이스 환경을 구축하는 데 사용됩니다. 마스터 데이터베이스는 일반적으로 준실시간입니다. 비즈니스 데이터베이스. 가장 일반적으로 사용되는 MySQL 데이터베이스에서는 단일 항목 및 비동기 할당이 지원됩니다. 할당 프로세스 중에 한 서버는 마스터 서버 역할을 하고 다른 서버는 슬레이브 서버 역할을 하며 이때 마스터 서버는 업데이트 정보를 특정 바이너리 파일에 기록합니다.
그리고 로그 회전을 추적하기 위해 파일 인덱스를 유지합니다. 이 로그는 기록되어 업데이트를 위해 슬레이브 서버로 전송될 수 있습니다. 슬레이브 서버가 마스터 서버에 연결되면 슬레이브 서버는 슬레이브 서버의 로그 파일에서 마지막으로 읽은 성공적인 업데이트 위치를 마스터 서버에 알립니다. 그런 다음 슬레이브 서버는 해당 시간 이후 발생한 모든 업데이트를 수신한 다음 마스터 서버가 새 업데이트를 알릴 때까지 잠그고 기다립니다.
마스터-슬레이브 복제의 역할
1. 데이터의 핫 백업을 수행합니다. 백업 데이터베이스로, 메인 데이터베이스 서버에 장애가 발생하면 슬레이브 데이터베이스로 전환하여 데이터 손실을 방지할 수 있습니다.
2. 아키텍처 확장. 비즈니스 규모가 점점 커지고 I/O 액세스 빈도가 너무 높아 단일 시스템으로는 충족할 수 없습니다. 이때 다중 데이터베이스 스토리지를 사용하여 디스크 I/O 액세스 빈도를 줄이고 단일 머신의 I/O 성능을 향상시킵니다.
3. 읽기와 쓰기를 분리하면 데이터베이스가 더 큰 동시성을 지원할 수 있습니다. 보고서에서는 특히 중요합니다. 일부 보고서 SQL 문은 매우 느리기 때문에 테이블 잠금이 발생하고 프런트 엔드 서비스에 영향을 미칩니다. 프런트 데스크가 마스터를 사용하고 보고서가 슬레이브를 사용하는 경우 보고서 SQL은 프런트 데스크 잠금을 발생시키지 않아 프런트 데스크 속도를 보장합니다.
추천 튜토리얼: "PHP"
위 내용은 MySQL 마스터-슬레이브 복제 원리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!