백업 및 복구 · 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 --help
060927 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 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.