찾다

 >  Q&A  >  본문

MySQL 5.5 데이터베이스를 다른 컴퓨터에 수동으로 복사

<p>저희 회사에서는 백엔드 데이터베이스로 MySQL 5.5를 사용하는 제품을 사용하고 있습니다. 제품은 설치 중에 MySQL을 자동으로 설치하고 구성합니다. 제품은 상시 대기 중복 구성에서 작동하도록 구성할 수 있습니다. 이 경우 별도의 서버 2대에 동일한 설치 과정을 수행한 후 제품 초기 구성 시 이중화 모드를 선택하세요. 이 제품은 데이터베이스 데이터를 내부적으로 복사하고 두 데이터베이스를 동기화하는 모든 프로세스를 처리합니다. MySQL은 중복 설정에 대해 알고 있습니다. MySQL은 두 서버의 동일한 위치에 동일하게 설치되며 동일한 구조를 갖습니다. 이 제품에는 단일 서버에서 중복 시스템을 생성하는 경우와 같이 필요할 때 기본 서버에서 백업 서버로 대규모 데이터베이스(예: 300G 크기 3K 테이블)를 동기화하는 매우 우아하고 효율적인 방법이 없습니다. 언젠가 마스터 서버 구성. 내 질문은 다음과 같습니다. </p> <p>MySQL 설치가 두 서버 모두에서 동일하다는 점을 고려할 때 기본 서버에서 백업 서버로 데이터베이스/파일을 수동으로 복사하는 안전하고 지원되는 방법이 있습니까? 그런데, 이것은 프로덕션 Windows 서버에 있습니다. 기본 데이터베이스에서 데이터베이스를 완전히 내보내고 BU 서버로 가져올 수 있다는 것을 알고 있지만 몇 시간이 걸릴 수 있습니다. 한 서버에서 다른 서버로 파일을 복사하는 더 빠른 지원 방법이 있었으면 좋겠지만 이를 조사하는 동안 충돌하는 정보를 발견했습니다. </p> <p>시스템 정보 윈도우 MySQL 5.5 설치는 두 서버 모두 동일합니다. "C:ProgramDataMySQLMySQL 서버 5.5데이터" 혁신 데이터베이스 테이블당 파일 수 = true</p> <p>어떤 제안이라도 미리 감사드립니다. </p> <p>한 번은 모든 혁신적인 데이터베이스 테이블 파일인 "C:ProgramDataMySQLMySQL Server 5.5dataMydbase"가 포함된 데이터베이스 폴더를 한 서버에서 다른 서버로 복사하려고 시도했지만 mysql이 시작되지 않고 오류가 발생했습니다.</ p>
P粉588152636P粉588152636472일 전696

모든 응답(1)나는 대답할 것이다

  • P粉937769356

    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을 사용해야 할 수도 있습니다.

    회신하다
    0
  • 취소회신하다