Backup MySQL · 3 min read · Feb 10, 2026
Backup e Recuperação MySQL Com mysql-zrm No Debian Sarge - Página 5
11 Backups Incrementais
mysql-zrm também pode fazer backups incrementais, no entanto, tive alguns problemas com isso. Primeiro, tive que configurar o MySQL para gravar seus bin-logs em /var/lib/mysql (editando /etc/mysql/my.cnf) porque é onde o mysql-zrm espera encontrá-los. Depois,
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 1pareceu funcionar, mas
mysql-zrm --action parse-binlogs --source-directory=/var/lib/mysql --backup-set dailyrundeu um erro:
| 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 |
É por isso que acho que é melhor fazer backups completos por enquanto, em vez de backups incrementais.
12 Backups Remotos
mysql-zrm também permite que você faça backups de servidores MySQL remotos pela rede. No entanto, isso também causou alguns problemas para mim.
12.1 Primeira Tentativa
Na minha primeira tentativa, eu queria fazer um backup (em formato bruto) de um servidor MySQL em um sistema remoto SuSE 10.0. Editei /etc/mysql-zrm/mysql-zrm.conf e coloquei o usuário remoto, senha e nome do host nele, então executei
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0O resultado foi este:
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 successfullyAcho que isso aconteceu por causa de diferentes versões do MySQL em ambos os sistemas.
12.2 Segunda Tentativa
Na minha segunda tentativa, eu queria fazer um backup (novamente em formato bruto) de um banco de dados MySQL em um servidor remoto Debian Sarge. Tanto o sistema local quanto o remoto tinham a mesma versão do MySQL. Executei
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0e obtive os seguintes erros:
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
Parece que estava faltando o diretório /var/lib/mysql/web34_db1 (web34_db1 é um dos bancos de dados no sistema remoto) no sistema local! Então eu o criei:
mkdir /var/lib/mysql/web34_db1e executei
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0novamente, e desta vez funcionou, mas duvido que seja assim que deveria ser…
12.3 Terceira Tentativa
Desta vez, tentei fazer um backup do mesmo sistema remoto Debian Sarge de antes, mas em formato lógico em vez de bruto. Executei
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0e obtive o seguinte erro:
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 successfullyMas desta vez é o comportamento normal porque para backups lógicos remotos, o MySQL precisa ser configurado com SSL, como descrito em http://mysqlbackup.zmanda.com/index.php/Do_I_need_to_make_changes_to_MySQL_database_configuration%3F. Infelizmente, os pacotes do MySQL do Debian Sarge vêm sem suporte a SSL:
mysqld --ssl --help060927 12:26:09 [ERROR] mysqld: unknown option '--ssl'Entrei no shell do MySQL:
mysql -u root -pe executei
SHOW VARIABLES LIKE 'have_openssl';e obtive o mesmo resultado:
| +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_openssl | NO | +---------------+-------+ 1 row in set (0.01 sec) |
Sem suporte a SSL…
13 Links
- mysql-zrm: http://mysqlbackup.zmanda.com
- Manual do 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
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.