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 1

pareceu funcionar, mas

mysql-zrm --action parse-binlogs --source-directory=/var/lib/mysql --backup-set dailyrun

deu 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 0

O 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 successfully

Acho 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 0

e 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_db1

e executei

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

novamente, 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 0

e 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 successfully

Mas 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 --help
060927 12:26:09 [ERROR] mysqld: unknown option '--ssl'

Entrei no shell do MySQL:

mysql -u root -p

e 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

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.