P粉9377693562023-09-05 10:18:50
예: 두 컴퓨터 모두에서 MySQL Server 서비스를 종료합니다. 그런 다음 원하는 방식으로 datadir의 파일을 이동할 수 있습니다. 그러나 이로 인해 파일 전송을 수행하는 동안 약간의 가동 중지 시간이 발생합니다.
다운타임이 꼭 필요하지 않다면 가능하지만 더 많은 단계가 필요합니다.
저는 Percona XtraBackup을 이용해서 소스 인스턴스의 물리적 백업을 해봤는데, Windows를 사용하시는 분들에게는 쉽지 않네요. Windows에서는 XtraBackup을 사용할 수 없습니다. 어떤 사람들은 Windows의 Docker 컨테이너 라는 트릭을 사용합니다.
그런 다음 XtraBackup을 일반적인 방법으로 새 시스템에 복원하고 이를 소스 인스턴스의 복사본으로 구성합니다. https://docs.percona.com/percona-xtrabackup/8.0/howtos/setting_up_replication.html
을 참조하세요.새 인스턴스를 복제본으로 만들면 복제본이 설정될 때 소스 인스턴스에서 발생한 최신 변경 사항을 기반으로 업데이트되도록 할 수 있습니다.
그런 다음 어느 시점에서 새 인스턴스로 전환하기로 결정합니다. 그런 다음 클라이언트 애플리케이션이 새로 변경되지 않도록 소스 인스턴스를 읽기 전용 모드로 설정합니다. 복제본이 마지막 최종 변경 사항을 따라잡도록 합니다(복제본이 이미 변경 사항을 따라잡은 경우에는 1초만 소요됩니다). 이제 이전 소스 대신 복사본을 사용하도록 클라이언트 애플리케이션을 변경할 수 있습니다. 그런 다음 RESET SLAVE를 사용하여 새 인스턴스에서 복제 구성을 해제합니다. 이전 소스에서 더 이상 변경이 발생하고 새 인스턴스에 복제되는 것을 원하지 않기 때문입니다.
이 프로세스를 시도한다면 도구에 익숙해질 때까지 프로덕션 인스턴스가 아닌 테스트 인스턴스에서 테스트하는 것이 좋습니다.
P.S.: Windows를 지원하지 않는 것 외에도 XtraBackup의 현재 버전이 MySQL 5.5에서 작동하는지 모르겠습니다. 이 버전은 2010년에 출시되었으며 2018년에 단종되었습니다. 따라서 어떤 버전의 XtraBackup이 여전히 MySQL 5.5 인스턴스를 읽을 수 있는지 조사해야 한다고 생각합니다. 이전 버전의 XtraBackup을 사용해야 할 수도 있습니다.