백업 및 복구 · 2 min read · Feb 10, 2026
MySQL 백업 및 복구 mysql-zrm을 사용한 Debian Sarge - 페이지 4
6 백업 확인
이제 dailyrun 백업 세트의 무결성을 확인하고자 합니다. 다음과 같이 할 수 있습니다:
mysql-zrm --action verify-backup --backup-set dailyrun출력은 다음과 같아야 합니다:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
(첫 번째 줄의 경고는 무시해도 됩니다. 심각한 것이 아닙니다.)
다음으로, dailyrun 백업 세트 내에서 특정 백업을 확인하고자 합니다. 먼저 다음을 실행합니다:
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrun사용 가능한 백업을 확인합니다:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
보시다시피, dailyrun 백업 세트에는 네 개의 백업이 있습니다. 우리는 /var/lib/mysql-zrm/dailyrun/20060926202404 디렉토리에 있는 마지막 백업을 확인하고자 합니다. 다음과 같이 할 수 있습니다:
mysql-zrm --action verify-backup --backup-set dailyrun --no-quiet --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404출력은 다음과 같아야 합니다:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
7 데이터 복구
데이터베이스가 충돌하여 데이터를 잃어버렸다고 가정해 보겠습니다. MySQL 백업에서 데이터를 복원하는 방법은 다음과 같습니다. 먼저 다음을 실행합니다:
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrun사용 가능한 백업을 확인합니다:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
/var/lib/mysql-zrm/dailyrun/20060926202404에 있는 최신 백업에서 복원하고자 합니다:
mysql-zrm --action restore --backup-set dailyrun --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404출력은 다음과 같습니다:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Restored database from raw backup: egroupware INFO: Restored database from raw backup: mysql INFO: Restore done in 14 seconds. MySQL server has been shutdown. Please restart after verification. |
데이터가 복원되었지만 MySQL 서버가 종료되었습니다. 따라서 이제 시작해야 합니다:
/etc/init.d/mysql start논리적 형식으로 백업을 수행한 경우, 다음과 같이 데이터를 복구할 수도 있습니다.
8 다중 백업 정책
지금까지 우리는 /etc/mysql-zrm/mysql-zrm.conf에 하나의 전역 구성을 가지고 있었으며, 이는 모든 백업 세트에 적용되었습니다. 이제 osCommerce 데이터베이스를 위한 osCommerce 백업 세트, vBulletin 데이터베이스를 위한 vBulletin 백업 세트 등이 있다고 가정해 보겠습니다.
osCommerce 백업 세트에서 모든 MySQL 데이터베이스를 백업하는 것은 의미가 없습니다. 왜냐하면 그 백업은 osCommerce 데이터베이스만 포함해야 하며, vBulletin 백업 세트에도 동일하게 적용되기 때문입니다. 이 문제를 해결하는 방법은 다음과 같습니다:
각 백업 세트는 /etc/mysql-zrm 디렉토리에 고유한 하위 디렉토리를 가지고 있습니다. 예를 들어, osCommerce 백업 세트는 /etc/mysql-zrm/osCommerce 디렉토리를 가지고 있습니다. 이제 mysql-zrm이 실행될 때마다, 먼저 /etc/mysql-zrm/mysql-zrm.conf의 전역 구성을 확인하고, 그 다음 현재 백업 세트의 디렉토리에서 mysql-zrm.conf 파일을 확인하여 해당 설정이 /etc/mysql-zrm/mysql-zrm.conf의 전역 설정을 덮어씁니다. 예를 들어, 현재 백업 세트가 osCommerce인 경우, mysql-zrm은 먼저 /etc/mysql-zrm/mysql-zrm.conf에서 구성을 읽고, 그 다음 /etc/mysql-zrm/osCommerce/mysql-zrm.conf에서 구성을 읽습니다.
osCommerce 백업 세트에서 osCommerce MySQL 데이터베이스만 백업하고자 한다면, 다음을 /etc/mysql-zrm/osCommerce/mysql-zrm.conf에 입력합니다:
vi /etc/mysql-zrm/osCommerce/mysql-zrm.conf| databases=osCommerce |
9 오래된 백업 제거
mysql-zrm 구성에서 보존 정책을 설정하지 않았다면, MySQL 백업은 영원히 보관되며, 이는 시간이 지남에 따라 하드 디스크가 가득 차게 됩니다. 오래된 백업은 백업 디렉토리를 삭제하여 간단히 제거할 수 있습니다. 예를 들어, /var/lib/mysql-zrm/dailyrun/20060926195831에 백업이 있고 더 이상 필요하지 않다면, 다음과 같이 삭제할 수 있습니다:
rm -fr /var/lib/mysql-zrm/dailyrun/2006092619583110 로그
mysql-zrm은 로그 파일 /var/log/mysql-zrm/mysql-zrm.log에 로그를 기록합니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.