백업 및 복구 · 3 min read · Feb 10, 2026
MySQL 백업 및 복구 mysql-zrm을 사용한 Debian Sarge - 페이지 5
11 증분 백업
mysql-zrm은 증분 백업도 수행할 수 있지만, 저는 몇 가지 문제를 겪었습니다. 먼저 MySQL이 bin-log를 /var/lib/mysql에 기록하도록 구성해야 했습니다 (/etc/mysql/my.cnf를 편집하여) 왜냐하면 mysql-zrm이 그곳에서 로그를 기대하기 때문입니다. 그 후,
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 1작동하는 것 같았지만,
mysql-zrm --action parse-binlogs --source-directory=/var/lib/mysql --backup-set dailyrun오류를 반환했습니다:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version ERROR: cannot open index file /var/lib/mysql/index No such file or directory |
그래서 지금은 증분 백업 대신 전체 백업을 하는 것이 더 좋다고 생각합니다.
12 원격 백업
mysql-zrm을 사용하면 네트워크를 통해 원격 MySQL 서버에서 백업을 수행할 수도 있습니다. 그러나 이것도 저에게 몇 가지 문제를 일으켰습니다.
12.1 첫 번째 시도
첫 번째 시도에서 저는 원격 SuSE 10.0 시스템의 MySQL 서버를 백업(원시 형식으로)하고 싶었습니다. /etc/mysql-zrm/mysql-zrm.conf를 편집하고 원격 사용자, 비밀번호 및 호스트 이름을 입력한 후,
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0실행했습니다. 결과는 다음과 같았습니다:
Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log
Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305.
INFO: mysql-zrm-version
WARNING: Binary logging is off. Incremental and logical backup will not work.
INFO: backup-set=dailyrun
INFO: backup-date=20060927095528
INFO: backup-date-epoch=1159343728
INFO: mysql-version=4.1.13
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927095528
INFO: backup-level=0
WARNING: Database test is empty and hence will not be backedup
WARNING: Database tmp is empty and hence will not be backedup
ERROR: Output of command: 'mysqlhotcopy' is
DBI connect(';host=192.168.0.163;mysql_read_default_group=mysqlhotcopy','root',...) failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client at /usr/bin/mysqlhotcopy line 182
ERROR: mysqlhotcopy command did not succeed.
Command used is mysqlhotcopy --quiet --user=root --password=*** --host=192.168.0.163 db_ispconfig mysql "/var/lib/mysql-zrm/dailyrun/20060927095528" > /tmp/4Z75iIAeo5 2>&1
Return value is 65280
INFO: backup-status=Backup failed
INFO: Backup failed
ERROR: /usr/bin/mysql-zrm did not finish successfully이것은 두 시스템의 MySQL 버전이 달라서 발생한 것 같습니다.
12.2 두 번째 시도
두 번째 시도에서 저는 원격 Debian Sarge 서버의 MySQL 데이터베이스를 백업(다시 원시 형식으로)하고 싶었습니다. 로컬 시스템과 원격 시스템 모두 동일한 MySQL 버전을 가지고 있었습니다. 저는
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0를 실행했고 다음과 같은 오류를 받았습니다:
Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: backup-set=dailyrun INFO: backup-date=20060927100653 INFO: backup-date-epoch=1159344413 INFO: mysql-version=4.1.11-Debian_4sarge7-log INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927100653 INFO: backup-level=0 WARNING: Database test is empty and hence will not be backedup ERROR: Output of command: 'mysqlhotcopy' is Cannot open dir '/var/lib/mysql/web34_db1': No such file or directory at /usr/bin/mysqlhotcopy line 293. ERROR: mysqlhotcopy command did not succeed. Command used is mysqlhotcopy --quiet --user=root --password=*** --host=192.168.0.110 mysql web34_db1 "/var/lib/mysql-zrm/dailyrun/20060927100653" > /tmp/yxFsViAlbm 2>&1 Return value is 512 INFO: backup-status=Backup failed INFO: Backup failed ERROR: /usr/bin/mysql-zrm did not finish successfully
로컬 시스템에서 원격 시스템의 데이터베이스 중 하나인 /var/lib/mysql/web34_db1 디렉토리가 누락된 것 같습니다! 그래서 저는 그것을 생성했습니다:
mkdir /var/lib/mysql/web34_db1그리고 다시 실행했습니다:
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0이번에는 작동했지만, 이것이 올바른 방법인지 의문입니다…
12.3 세 번째 시도
이번에는 이전과 같은 원격 Debian Sarge 시스템에서 원시 형식 대신 논리적 형식으로 백업을 시도했습니다. 저는
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0를 실행했고 다음과 같은 오류를 받았습니다:
Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log
Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305.
INFO: mysql-zrm-version
WARNING: Binary logging is off. Incremental and logical backup will not work.
INFO: backup-set=dailyrun
INFO: backup-date=20060927095501
INFO: backup-date-epoch=1159343701
INFO: mysql-version=4.1.13
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927095501
INFO: backup-level=0
ERROR: Binary logging is off. Logical backup cannot be done
INFO: backup-status=Backup failed
INFO: Backup failed
ERROR: /usr/bin/mysql-zrm did not finish successfully하지만 이번에는 정상적인 동작입니다. 원격 논리적 백업을 위해 MySQL은 SSL로 구성되어야 하며, 이는 http://mysqlbackup.zmanda.com/index.php/Do_I_need_to_make_changes_to_MySQL_database_configuration%3F에 설명되어 있습니다. 불행히도 Debian Sarge MySQL 패키지는 SSL 지원 없이 제공됩니다:
mysqld --ssl --help060927 12:26:09 [ERROR] mysqld: unknown option '--ssl'저는 MySQL 셸에 로그인했습니다:
mysql -u root -p그리고 실행했습니다:
SHOW VARIABLES LIKE 'have_openssl';그리고 같은 결과를 받았습니다:
| +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_openssl | NO | +---------------+-------+ 1 row in set (0.01 sec) |
SSL 지원이 없습니다…
13 링크
- mysql-zrm: http://mysqlbackup.zmanda.com
- mysql-zrm 매뉴얼: http://mysqlbackup.zmanda.com/index.php/Zmanda_Recovery_Manager_for_MySQL
- Zmanda: http://www.zmanda.com
- MySQL: http://www.mysql.com
- Debian: http://www.debian.org
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.