MySQL 복제에서 일치하지 않는 데이터베이스 해결
MySQL 복제 영역에서는 마스터 서버와 슬레이브 서버 간의 데이터 무결성을 유지하는 것이 무엇보다 중요합니다. 그러나 네트워크 중단과 같은 상황으로 인해 이러한 미묘한 균형이 깨져 데이터베이스 불일치가 발생할 수 있습니다. 이 가이드는 마스터 및 슬레이브 데이터베이스를 처음부터 다시 동기화하여 다시 한 번 원활한 복제를 보장하는 자세한 절차를 제공합니다.
절차:
마스터 서버에서:
-
마스터 상태 재설정: RESET MASTER를 사용하세요. 마스터의 복제 정보를 삭제합니다.
-
읽기 작업 잠금: READ LOCK으로 FLUSH TABLES를 실행합니다. 덤프하는 동안 데이터 변경을 방지합니다.
-
마스터 상태 표시: SHOW MASTER STATUS 실행; 그리고 결과 값을 기록합니다.
마스터 덤프 생성:
- mysqldump -u root -p -를 사용하여 전체 데이터베이스 덤프를 생성합니다. -모든 데이터베이스 > /a/path/mysqldump.sql.
읽기 잠금 해제 작업:
- UNLOCK TABLES 실행; 읽기 잠금을 해제합니다.
슬레이브에 덤프 파일 복사:
- scp 또는 적절한 파일을 사용하여 덤프된 파일을 슬레이브 서버로 전송합니다. 전송 방법.
슬레이브 서버에서:
-
슬레이브 복제 중지: STOP SLAVE를 실행합니다. 복제 프로세스를 중지합니다.
-
마스터 데이터 로드: mysql -uroot -p < mysqldump.sql을 사용하여 슬레이브를 마스터 데이터로 채웁니다.
-
로그 재설정 및 동기화:
- RESET SLAVE를 실행합니다. 슬레이브의 복제 설정을 삭제합니다.
- MASTER_LOG_FILE 및 MASTER_LOG_POS를 마스터의 SHOW MASTER STATUS에서 기록한 값으로 바꾸세요. 산출. CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;을 사용합니다.
-
슬레이브 복제 시작: START SLAVE를 실행합니다. 마스터에서 데이터 흐름을 재개합니다.
확인:
- SHOW SLAVE STATUS;로 복제 상태를 확인하세요.
- 예상됨 출력: Slave_IO_Running: Yes 및 Slave_SQL_Running: Yes, 성공적인 동기화를 나타냅니다.
위 내용은 MySQL 복제에서 일치하지 않는 데이터베이스를 다시 동기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!