Backup MySQL · 3 min read · Feb 10, 2026

Backup e Ripristino MySQL Con mysql-zrm Su Debian Sarge - Pagina 5

11 Backup Incrementali

mysql-zrm può anche eseguire backup incrementali, tuttavia ho avuto alcuni problemi con esso. Prima ho dovuto configurare MySQL per scrivere i suoi bin-log in /var/lib/mysql (modificando /etc/mysql/my.cnf) perché è lì che mysql-zrm si aspetta di trovarli. Successivamente,

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

sembrava funzionare, ma

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

dava un errore:

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

Ecco perché penso sia meglio fare backup completi per ora invece di backup incrementali.

12 Backup Remoti

mysql-zrm ti consente anche di eseguire backup da server MySQL remoti tramite la rete. Tuttavia, questo ha causato anche alcuni problemi per me.

12.1 Primo Tentativo

Nel mio primo tentativo volevo eseguire un backup (in formato raw) di un server MySQL su un sistema remoto SuSE 10.0. Ho modificato /etc/mysql-zrm/mysql-zrm.conf e ho inserito l’utente remoto, la password e il nome host, poi ho eseguito

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

Il risultato è stato questo:

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

Penso che questo sia successo a causa delle diverse versioni di MySQL sui due sistemi.

12.2 Secondo Tentativo

Nel mio secondo tentativo volevo eseguire un backup (ancora in formato raw) di un database MySQL su un server remoto Debian Sarge. Sia il sistema locale che quello remoto avevano la stessa versione di MySQL. Ho eseguito

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

e ho ottenuto i seguenti errori:

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

Sembra che mancasse la directory /var/lib/mysql/web34_db1 (web34_db1 è uno dei database sul sistema remoto) sul sistema locale! Così l’ho creata:

mkdir /var/lib/mysql/web34_db1

e ho eseguito

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

ancora, e questa volta ha funzionato, ma dubito che sia il modo in cui dovrebbe essere…

12.3 Terzo Tentativo

Questa volta ho provato a fare un backup dallo stesso sistema remoto Debian Sarge di prima, ma in formato logico invece che raw. Ho eseguito

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

e ho ottenuto il seguente errore:

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

Ma questa volta è il comportamento normale perché per i backup logici remoti MySQL deve essere configurato con SSL, come descritto su http://mysqlbackup.zmanda.com/index.php/Do_I_need_to_make_changes_to_MySQL_database_configuration%3F. Sfortunatamente, i pacchetti MySQL di Debian Sarge vengono forniti senza supporto SSL:

mysqld --ssl --help
060927 12:26:09 [ERROR] mysqld: unknown option '--ssl'

Ho effettuato il login nella shell di MySQL:

mysql -u root -p

e ho eseguito

SHOW VARIABLES LIKE 'have_openssl';

e ho ottenuto lo stesso risultato:

| +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_openssl | NO | +---------------+-------+ 1 row in set (0.01 sec) |

Nessun supporto SSL…

13 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.