tencent cloud

TencentDB for MySQL

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

다운로드
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-06-09 10:04:20

작업 시나리오

설명:
저장 공간을 절약하기 위해, 클라우드 데이터베이스 MySQL의 물리 백업 및 논리 백업 파일은 먼저 qpress로 압축된 후, xbstream(xbstream은 Percona의 패키징/언패키징 도구)으로 패키징되어 압축 및 패키징됩니다.
오픈소스 소프트웨어 Percona XtraBackup은 데이터베이스 백업 및 복원에 사용할 수 있습니다. 본 문서에서는 Percona XtraBackup 도구를 사용하여 MySQL 물리 백업 파일을 다른 호스트의 자체 구축 데이터베이스로 복원하는 방법을 소개합니다.
주의:
투명한 암호화 또는 Instant DDL 기능을 사용하는 경우, 물리 백업을 사용하여 자체 구축 시스템에서 복구할 수 없습니다.
Percona XtraBackup은 Linux 플랫폼만 지원하며 Windows 플랫폼은 지원하지 않습니다.
Windows 플랫폼에서 데이터를 복원하려면 명령줄 도구를 통한 데이터 마이그레이션을 참조하십시오.

전제 조건

Percona XtraBackup 도구를 다운로드 및 설치하십시오.
설명:
다운로드한 도구의 버전이 데이터베이스 버전과 일치하는지 확인하십시오. 예를 들어, 인스턴스 데이터베이스 버전이 MySQL 8.0.30인 경우 해당 버전의 Percona XtraBackup 도구(8.0.30 버전)를 다운로드하십시오. 다운로드 주소를 클릭하면 버전을 조회하고 도구를 다운로드할 수 있습니다. 설치 방법은 Percona XtraBackup 가이드를 참조하십시오.
지원되는 인스턴스 버전: MySQL 2노드, 3노드.
설명:
본 문서는 CentOS 운영 체제의 클라우드 서버와 MySQL 5.7 버전을 예로 들어 설명합니다.

설명:
백업 파일 다운로드

사용자는 콘솔을 통해 클라우드 데이터베이스 MySQL의 데이터 백업 및 로그 백업을 다운로드하실 수 있습니다.
설명:
기본적으로 각 IP당 10개의 연결로 제한되며, 각 링크의 다운로드 속도는 20Mbps - 30Mbps에 달할 수 있습니다.
1. MySQL 콘솔에 로그인한 후, 인스턴스 목록에서 인스턴스 ID 또는 작업 열의 관리를 클릭하면 인스턴스 관리 페이지로 이동합니다.
2. 인스턴스 관리 페이지에서 백업 복구 > 데이터 백업 목록 페이지를 선택한 후, 다운로드할 백업을 선택하고 작업 열에서 다운로드를 클릭하십시오.
3. 팝업 창에서 다운로드 주소 옆의 복사를 클릭하여 다운로드 링크를 가져옵니다.
4. 로컬에 자체 구축한 MySQL이 설치된 Linux 클라우드 서버에 로그인하여 wget 명령어를 활용하여 내부 네트워크 고속 다운로드로 물리적 백업을 진행합니다.
설명:
다운로드 주소의 유효 기간은 모두 12시간입니다. 만료 후에는 수동으로 페이지를 새로 고침하여 다시 가져오십시오.
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: 백업 복호화 키 다운로드 (백업 암호화 기능이 활성화된 경우에만 해당 단계를 수행해야 함)

사용자는 콘솔을 통해 클라우드 데이터베이스 MySQL의 데이터 백업 복호화 키를 다운로드하실 수 있습니다.
설명:
각 데이터베이스 백업의 복호화 키는 독립적으로 생성됩니다. 백업 암호화 기능을 활성화한 경우, 백업 파일을 다운로드할 때 복호화 키를 함께 다운로드하여 보관해야 합니다.
1. MySQL 콘솔에 로그인하여 인스턴스 목록에서 인스턴스 ID 또는 작업 열의 관리를 클릭하면 인스턴스 관리 페이지로 진입합니다.
2. 인스턴스 관리 페이지에서 백업 복구 > 데이터 백업 목록 페이지를 선택한 후, 다운로드할 백업에 해당하는 복호화 키를 선택하고 작업 열에서 키 다운로드를 클릭하십시오.


단계 3: 데이터 복원

3.1 백업 파일 압축 해제

xbstream 명령어를 사용하여 데이터 백업 파일의 압축을 해제하여 대상 디렉터리에 저장합니다.
xbstream -x --decrypt=AES256 --encrypt-key-file=<백업 키 파일> --parallel=2 -C /data/mysql < /data/test.xb
설명:
백업 암호화를 활성화하지 않은 경우, 백업 파일 압축 해제 명령어는 다음과 같습니다: xbstream -x -C /data/mysql < /data/test.xb.
본문의 대상 디렉터리는 /data/mysql을 데이터 파일 복구 저장소로 사용합니다. 실제 상황에 따라 실제 경로로 대체할 수 있습니다.
/data/test.xb를 백업 파일로 교체하세요.
압축 해제 결과는 다음 그림과 같습니다:

압축 해제가 필요한 백업 파일이 binlog 백업인 경우 명령어는 다음과 같습니다.
openssl enc -d -aes256 -k <encrypt_key> -in <download_binlog_name> -out <output_binlog_name>;
<encrypt_key>: 실제 백업 키 파일 내용으로 교체하세요.
<download_binlog_name>: 실제 암호화된 binlog 파일명으로 교체하세요.
<output_binlog_name>: 실제 복호화된 binlog 파일명으로 교체하세요.

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 도구 다운로드를 클릭하여 로컬에 저장한 후, 해당 도구를 Linux 클라우드 서버에 업로드하십시오. 자세한 방법은 SCP를 통한 Linux 클라우드 서버 파일 업로드를 참조하세요.
2. 다음 명령어를 통해 qpress 바이너리 파일의 압축을 해제하세요.
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
3. 다음 명령어를 사용하여 대상 디렉터리 아래의 모든 .qp로 끝나는 파일을 압축 해제합니다.
xtrabackup --decompress --target-dir=/data/mysql
설명:
/data/mysql는 이전에 백업 파일을 저장하던 대상 디렉터리입니다. 실제 상황에 따라 실제 경로로 대체할 수 있습니다.
Percona XtraBackup은 2.4.6 이상 버전에서만 --remove-original 옵션을 지원합니다.
xtrabackup은 기본적으로 압축 해제 시 원본 압축 파일을 삭제하지 않습니다. 압축 해제 후 원본 압축 파일을 삭제하려면 위 명령어에 --remove-original 매개변수를 추가할 수 있습니다.


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을 예시로 사용합니다. 실제 상황에 따라 해당 경로를 실제 경로로 대체할 수 있습니다.
2. 버전 문제가 존재하므로 압축 해제된 파일 backup-my.cnf에서 다음과 같은 매개변수를 주석 처리하십시오.
innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version
server_uuid
master_key_id


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 -p
설명:
명령어를 실행한 후 입력하는 비밀번호는 백업 파일을 통해 복구하려는 클라우드 데이터베이스의 root 계정 비밀번호입니다.


백업 관련 문제

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백