Резервное копирование · 3 min read · Feb 10, 2026
Резервное копирование и восстановление MySQL с помощью mysql-zrm на Debian Sarge - Страница 5
11 Инкрементные резервные копии
mysql-zrm также может выполнять инкрементные резервные копии, однако у меня были с этим некоторые проблемы. Сначала мне нужно было настроить MySQL для записи своих бинарных логов в /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 Первая попытка
В своей первой попытке я хотел сделать резервную копию (в сыром формате) сервера MySQL на удаленной системе SuSE 10.0. Я отредактировал /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 Вторая попытка
Во второй попытке я хотел сделать резервную копию (снова в сыром формате) базы данных MySQL на удаленном сервере Debian Sarge. И локальная, и удаленная системы имели одну и ту же версию 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 (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. К сожалению, пакеты MySQL для Debian Sarge поставляются без поддержки 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
Get new posts in your inbox
No spam. Unsubscribe anytime.