DB

[MySQL] RESET MASTER / SLAVE 완벽 가이드 사용법(서버 초기화)

인생아 2025. 1. 15. 16:49
반응형

MySQL의 RESET MASTERRESET SLAVE 명령은 MySQL 복제 환경에서 마스터와 슬레이브 서버를 초기화하거나 복제를 관리할 때 사용됩니다. 복제를 설정하거나 문제를 해결할 때 꼭 알아야 할 중요한 명령어들입니다.

RESET MASTER란?

RESET MASTER는 MySQL 마스터 서버에서 바이너리 로그(Binary Log)를 초기화하는 데 사용됩니다. 이 명령을 실행하면 기존 바이너리 로그 파일이 삭제되고, 새로운 로그 파일이 생성됩니다.

RESET MASTER 사용 목적

  1. 마스터 서버 초기화: 기존 로그를 삭제하여 새로 시작할 때.
  2. 디스크 공간 절약: 오래된 바이너리 로그를 제거하여 저장 공간 확보.
  3. 복제 재설정: 새로운 슬레이브를 추가하거나 기존 복제 관계를 초기화할 때.

RESET MASTER 기본 문법

RESET MASTER;
반응형

RESET MASTER 사용 예제

1. 마스터 서버 초기화하기

RESET MASTER;

위 명령을 실행하면 모든 기존 바이너리 로그가 삭제되고, 새로운 로그 파일이 mysql-bin.000001로 재생성됩니다.

2. RESET MASTER 전후 로그 파일 상태 확인

SHOW BINARY LOGS;
-- 기존 로그 상태 확인 후 RESET MASTER 실행
RESET MASTER;
SHOW BINARY LOGS;
-- 새로운 로그 파일 확인

주의사항

  • 이 명령은 복제를 사용하는 환경에서 신중히 실행해야 합니다. 슬레이브가 바이너리 로그 파일에 액세스할 수 없으면 복제가 중단될 수 있습니다.
  • 반드시 필요한 경우에만 사용하며, 실행 전 전체 데이터베이스 백업을 권장합니다.
반응형

RESET SLAVE란?

RESET SLAVE는 MySQL 슬레이브 서버에서 복제 설정을 초기화하는 데 사용됩니다. 슬레이브 관련 상태 정보를 삭제하고, 새로운 복제 관계를 설정하기 위한 준비 작업입니다.

RESET SLAVE 사용 목적

  1. 복제 관계 초기화: 기존 마스터와의 연결 정보 삭제.
  2. 복제 문제 해결: 복제 오류를 해결하거나 새로운 마스터와의 복제를 설정할 때.

RESET SLAVE 기본 문법

RESET SLAVE [ALL];
  • RESET SLAVE: 슬레이브 로그와 상태 정보를 초기화.
  • RESET SLAVE ALL: 슬레이브 설정 정보(예: 마스터 정보, 연결 정보)도 초기화.

RESET SLAVE 사용 예제

1. 기본 슬레이브 초기화

STOP SLAVE;
RESET SLAVE;
START SLAVE;

위 명령은 슬레이브를 정지하고 초기화한 후 다시 시작합니다.

2. 슬레이브 설정 정보 초기화

STOP SLAVE;
RESET SLAVE ALL;
CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='replica', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
START SLAVE;

위 명령은 슬레이브의 복제 설정 정보를 완전히 삭제하고, 새로운 마스터를 설정한 뒤 복제를 시작합니다.

RESET MASTER와 RESET SLAVE의 차이점

  • RESET MASTER: 마스터 서버에서 바이너리 로그를 초기화.
  • RESET SLAVE: 슬레이브 서버에서 복제 상태와 설정 정보를 초기화.
반응형

실무에서의 활용 사례

  1. 복제 환경 초기화
    기존 복제 관계를 초기화하고 새로운 복제를 설정해야 할 때 유용합니다.
  2. 복제 오류 해결
    마스터와 슬레이브 간 데이터 동기화가 실패했을 경우, RESET SLAVE로 문제를 해결할 수 있습니다.
  3. 데이터 정리 및 최적화
    오래된 바이너리 로그를 삭제하여 디스크 공간을 절약하고, 복제 환경을 새롭게 시작할 수 있습니다.

추가 예제: 복잡한 복제 환경 설정

1. 슬레이브 다중 연결 초기화

STOP SLAVE;
RESET SLAVE ALL;
CHANGE MASTER TO MASTER_HOST='master1.example.com', MASTER_USER='replica_user', MASTER_PASSWORD='replica_pass', MASTER_LOG_FILE='mysql-bin.000010', MASTER_LOG_POS=120;
START SLAVE;

2. RESET MASTER로 새로운 바이너리 로그 시작

RESET MASTER;
SHOW BINARY LOGS;
-- 새로운 로그 파일(mysql-bin.000001) 확인

결론

MySQL의 RESET MASTERRESET SLAVE 명령은 복제 환경을 설정하거나 초기화하는 데 필수적인 도구입니다.

공식 가이드 문서: https://dev.mysql.com/doc/refman/8.0/en/reset-master.html

반응형