tencent cloud

피드백

물리 백업을 사용하여 데이터베이스 복구

마지막 업데이트 시간:2023-07-13 16:57:49

    개요

    설명:

    스토리지 공간을 절약하기 위해 TencentDB for MySQL의 물리적 및 논리적 백업은 qpress로 압축된 다음 Percona에서 제공하는 xbstream으로 압축됩니다.

    오픈 소스 Percona XtraBackup을 사용하여 데이터베이스를 백업하고 복원할 수 있습니다. 이 문서는 XtraBackup을 사용하여 TencentDB for MySQL 인스턴스의 물리적 백업 파일을 CVM 기반 자체 구축 데이터베이스로 복원하는 방법을 설명합니다.

    주의:

    TDE 또는 Instant DDL 기능을 사용하는 경우 자체 구축 시스템의 물리적 백업에서 데이터를 복원할 수 없습니다.

    • XtraBackup은 Linux 플랫폼만 지원하며, Windows 플랫폼은 지원하지 않습니다.
    • Windows 플랫폼의 데이터 복구는 TCCLI로 데이터 마이그레이션을 참고하십시오.

    전제 조건

    설명:

    본 문서는 CentOS 운영 체제의 CVM과 MySQL 5.7 버전을 예로 들어 소개합니다.

    1단계: 백업 파일 다운로드

    콘솔에서 TencentDB for MySQL 인스턴스의 데이터 백업 및 로그 백업을 다운로드할 수 있습니다.

    설명:

    각 IP는 기본적으로 최대 10개의 다운로드 링크를 가질 수 있으며 다운로드 속도 제한은 각각 20Mpbs - 30Mpbs입니다.

    1. TencentDB for MySQL 콘솔 로그인 후, 인스턴스 리스트에서 인스턴스 ID 또는 작업열의 관리를 클릭하여 인스턴스 관리 페이지로 이동합니다.
    2. 인스턴스 관리 페이지에서 백업 복구 > 데이터 백업 리스트 페이지를 선택하고 다운로드할 백업을 선택한 후 작업 열에서 다운로드를 클릭합니다.
    3. 팝업창에서 권장 다운로드 주소를 복사하고 CDB가 속한 VPC의 CVM(Linux 시스템)에 로그인한 후, wget 명령어로 내부 네트워크 고속 다운로드를 사용하면 보다 효율적입니다.
      설명:

      • 또한 로컬 다운로드를 선택하여 직접 다운로드할 수 있지만, 다소 긴 시간이 소요될 수 있습니다.
      • wget 명령어 포맷: wget -c '백업 파일 다운로드 주소' -O 사용자 정의 파일명.xb
      예시는 다음과 같습니다.
      wget -c 'https://mysql-database-backup-sh-1218.cos.ap-nanjing.myqcloud.com/12427%2Fmysql%2F0674-ffba-11e9-b592-70bd%2Fdata%2Fautomatic-delete%2F2019-12-03%2Fautomatic%2Fxtrabackup%2Fbk_61_156758150%2Fcdb-293fl9ya_backup_20191203000202.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKzxfbLJ1%26q-sign-time%3D1575374119%3B1575417319%26q-key-time%3D1575374119%3B1575417319%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dba959757&response-content-disposition=attachment%3Bfilename%3D%22yuan177685_backup_20191203000202.xb%22&response-content-type=application%2Foctet-stream' -O /data/test.xb
      

    2단계: 백업 복호화 키 다운로드(백업 암호화 기능이 활성화된 경우에만 필요)

    콘솔에서 TencentDB for MySQL 인스턴스의 데이터 백업 및 복호화 키를 다운로드할 수 있습니다.

    설명:

    암호 해독 키는 각 데이터베이스 백업에 대해 개별적으로 생성됩니다. 백업 암호화 기능이 활성화된 경우 복호화 키와 함께 백업 파일을 다운로드하여 저장해야 합니다.

    1. TencentDB for MySQL 콘솔 로그인 후, 인스턴스 리스트에서 인스턴스 ID 또는 작업열의 관리를 클릭하여 인스턴스 관리 페이지로 이동합니다.
    2. 인스턴스 관리 페이지에서 백업 및 복구 > 데이터 백업 리스트 탭에서 다운로드할 백업 파일에 해당하는 복호화 키를 찾은 후 작업 열에서 키 다운로드를 클릭합니다.
    3. 팝업창에서 키를 저장할 파일 경로를 선택하고 다운로드를 클릭합니다.

    3단계: 데이터 복구

    3.1 백업 파일 압축 풀기

    xbstream 명령을 실행하여 대상 디렉터리에 백업 파일의 압축을 풉니다.

    xbstream -x --decrypt=AES256 --encrypt-key-file=<백업 키 파일> --parallel=2  -C /data/mysql < /data/test.xb
    
    설명:

    • 본 문서에서는 타깃 디렉터리 /data/mysql를 예시로 사용합니다. 백업 파일을 저장하는 데 실제로 사용하는 디렉터리로 바꿀 수 있습니다.
    • /data/test.xb를 백업 파일로 변경합니다.

    압축 해제 결과는 아래와 같습니다.

    3.2 백업 파일 압축 해제

    1. 다음 명령어를 사용해 qpress 툴을 다운로드합니다.
      wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
      
    설명:

    wget 다운로드 중 오류가 표시되면 qpress 툴 다운로드를 클릭하여 로컬로 다운로드한 후, qpress 툴을 Linux CVM 인스턴스에 업로드합니다. 자세한 내용은 Linux 또는 MacOS 시스템에서 SCP를 사용하여 Linux CVM에 파일 업로드를 참고하십시오.

    1. 다음 명령어를 사용해 qpress 바이너리 파일을 압축 해제합니다.

      tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
      source /etc/profile
      
    2. 그 다음 아래 명령을 실행하여 대상 디렉터리의 모든 .qp 파일의 압축을 해제합니다.

      xtrabackup --decompress --target-dir=/data/mysql
      
    설명:

    • /data/mysql은 이전에 백업 파일이 저장된 대상 디렉토리입니다. 실제로 사용하는 디렉터리로 교체할 수 있습니다.
    • Percona Xtrabackup는 2.4.6 이상 버전에서만 --remove-original 옵션을 지원합니다.
    • xtrabackup은 압축 해제 시 원본 압축 파일을 삭제하지 않도록 기본 설정되어 있습니다. 압축 해제 후에 원본 압축 파일을 삭제하려면, 상기 명령어에 --remove-original 매개변수를 추가하십시오.

    decompress.png

    3.3 Prepare 백업 파일

    백업 파일의 압축을 해제한 후 다음 명령을 실행하여 apply log 작업을 수행합니다.

    xtrabackup --prepare  --target-dir=/data/mysql
    

    실행 후 출력 결과에 다음 사항이 포함되어 있다면 prepare 성공을 뜻합니다.
    prepare.png

    3.4 구성 파일 수정

    1. 다음 명령을 실행하여 backup-my.cnf 파일을 엽니다.
      vi /data/mysql/backup-my.cnf
      
    설명:

    본 문서는 대상 디렉터리 /data/mysql를 예로 들며, 실제 사용하는 디렉터리로 교체할 수 있습니다.

    1. 기존 버전 문제를 감안하여 추출된 backup-my.cnf 파일에서 다음 매개변수를 주석 처리해야 합니다.
    • innodb_checksum_algorithm

    • innodb_log_checksum_algorithm

    • innodb_fast_checksum

    • innodb_page_size

    • innodb_log_block_size

    • redo_log_version

    3.5 파일 속성 수정

    파일 속성을 수정하고 파일이 mysql 사용자의 소유인지 확인합니다.

    chown -R mysql:mysql /data/mysql
    

    4단계: mysqld 프로세스를 실행하고 확인을 위해 로그인

    1. mysqld 프로세스를 시작합니다.

      mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &
      
    2. 확인을 위해 MySQL 클라이언트에 로그인합니다.

      mysql  -uroot
      

    백업 관련 문제

    백업 FAQ백업 실패 원인을 참고하십시오.

    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원