MySQL 복제에서 데이터베이스 불일치 해결
MySQL 복제 설정에서 마스터 서버와 슬레이브 서버의 데이터베이스 콘텐츠 간에 불일치가 발생할 수 있습니다. 슬레이브의 연결이 오랫동안 끊어졌다가 다시 연결되는 경우. 이러한 상황에서 데이터베이스를 다시 동기화하려면 다음 단계를 수행할 수 있습니다.
마스터 서버에서:
- RESET MASTER를 실행하여 마스터를 재설정합니다. ;.
- FLUSH TABLES WITH READ LOCK;을 사용하여 읽기 작업을 위해 테이블을 잠급니다.
- SHOW MASTER STATUS;를 사용하여 마스터의 현재 복제 상태를 가져옵니다. Master_Log_File 및 Master_Log_Pos에 대해 반환된 값을 복사합니다.
- mysqldump -u root -p --all-databases >를 사용하여 마스터에서 덤프 파일로 전체 데이터베이스를 내보냅니다. /path/mysqldump.sql.
슬레이브 서버에서:
- STOP SLAVE;를 사용하여 슬레이브의 복제 프로세스를 중지합니다.
- mysql -uroot -p <를 사용하여 마스터의 데이터베이스 덤프를 슬레이브로 가져옵니다. mysqldump.sql.
- RESET SLAVE;를 실행하여 슬레이브의 복제 구성을 재설정합니다.
- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001을 사용하여 마스터의 현재 위치와 일치하도록 슬레이브의 복제 구성을 업데이트합니다. ', MASTER_LOG_POS=98;. 'mysql-bin.000001' 및 '98'을 마스터 서버에서 실행된 SHOW MASTER STATUS 명령에서 얻은 값으로 대체합니다.
- START SLAVE;를 사용하여 슬레이브의 복제 프로세스를 다시 시작합니다.
확인:
성공적인 동기화를 확인하려면 SHOW SLAVE STATUS를 실행하세요. 슬레이브 서버에서. 출력에는 Slave_IO_Running 및 Slave_SQL_Running이 모두 Yes로 표시되어야 합니다.
위 내용은 슬레이브 연결 해제 후 MySQL 복제를 재동기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!