MySQL 마스터-슬레이브 복제를 재설정(재동기화)하는 방법

MySQL 마스터-슬레이브 복제를 재설정(재동기화)하는 방법

2022-10-18 last update

4 minutes reading MySQL mysql replication resync mysql replication replication
때때로 MySQL 복제는 문제를 일으키고 슬레이브는 마스터 데이터베이스 서버에서 제대로 동기화할 수 없습니다. 많은 이유로 인해 발생할 수 있습니다. 문제는 해결 방법뿐입니까? 이 문서에서는 MySQL 복제를 재설정하는 방법을 안내하고 처음부터 다시 시작합니다. 경고: 이 자습서를 사용한 후에는 모든 bin-log 파일이 삭제되므로 원하는 경우 , 먼저 bin-log 파일을 백업한 다음 지침을 따를 수 있습니다.

슬레이브 서버에서:

먼저 슬레이브 서버에서 슬레이브를 중지해야 합니다. MySQL 서버에 로그인하고 다음 명령을 실행합니다.
mysql> STOP SLAVE;

마스터 서버에서:

슬레이브를 중지한 후 마스터 서버로 이동하여 다음 명령을 사용하여 마스터 상태를 재설정합니다.
mysql> RESET MASTER;
mysql> FLUSH TABLES WITH READ LOCK;
[ 참고: 프로덕션 사이트에 읽기 잠금 추가. Read more about table locking ]다음 명령을 사용하여 복제 중인 데이터베이스의 덤프를 가져옵니다.
# mysqldump -u root -p mydb > mydb-dump.sql
백업을 수행한 후 마스터 서버에서 테이블 잠금을 해제합니다.
mysql> UNLOCK TABLES;
슬레이브 서버에서: 다음 명령을 사용하여 슬레이브 서버에서 수행한 데이터베이스 백업을 복원합니다.
# mysql -u root -p mydb < mydb-dump.sql
mysql에 로그인하고 다음 명령을 실행하여 슬레이브 상태도 재설정하십시오.
mysql> RESET SLAVE;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1;
슬레이브 초기화 후 슬레이브 복제
mysql> START SLAVE;
이제 복제가 새로 구성된 것과 동일하게 다시 동기화되었습니다. 다음 명령을 사용하여 확인할 수 있습니다.
mysql> show slave status \G