Mysql
 sql >> Database >  >> RDS >> Mysql

Crea backup fisici dei tuoi database MariaDB o MySQL

Mentre il mysqldump strumento è il metodo di backup preferito per un database MariaDB o MySQL o un sistema di database funziona solo quando il server del database è accessibile e in esecuzione. Se il database non può essere avviato o il sistema host è inaccessibile, il database può comunque essere copiato direttamente.

Un backup fisico è spesso necessario in situazioni in cui si ha accesso solo a un ambiente di ripristino (come Finnix) in cui si montano i dischi del sistema come dispositivi di archiviazione esterni. Se vuoi leggere i backup logici usando mysqldump , consulta la nostra guida sull'argomento.

Per semplificare, in questa guida verrà utilizzato il nome MySQL, ma le istruzioni funzioneranno sia per MySQL che per MariaDB.

Nota I passaggi in questa guida richiedono i privilegi di root. Accedi come utente root con su - prima di iniziare.

Crea un backup

  1. Se non stai eseguendo in modalità di ripristino (una sessione di Finnix), interrompi mysql servizio:

    systemctl stop mysql
    
  2. Individua la directory del database. Dovrebbe essere /var/lib/mysql/ sulla maggior parte dei sistemi, ma se quella directory non esiste, esamina /etc/mysql/my.cnf per un percorso alla directory dei dati.

  3. Crea una directory in cui archiviare i tuoi backup. Questa guida utilizzerà /opt/db-backups ma puoi modificarlo in base alle tue esigenze:

    mkdir /opt/db-backups
    
  4. Copia la directory dei dati di MySQL in una posizione di archiviazione. Il cp comando, rsync o altri metodi funzioneranno bene, ma useremo tar per copiare ricorsivamente e gzippare il backup in una sola volta. Modificare la directory del database, il nome del file di backup e la directory di destinazione secondo necessità; il -$(date +%F) oltre al comando inserirà un timestamp nel nome del file.

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. Riavvia il servizio MySQL:

    systemctl restart mysql
    

Ripristina un backup

  1. Cambia la tua directory di lavoro in un posto dove puoi estrarre il tarball creato sopra. In questo esempio viene utilizzata la directory home dell'utente corrente:

    cd
    
  2. Interrompi mysql servizio:

    systemctl stop mysql
    
  3. Estrarre il tarball nella directory di lavoro. Cambia il nome del file del tarball nel comando in quello con la data in cui desideri ripristinare.

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. Sposta il contenuto corrente di /var/lib/mysql in un'altra posizione se desideri conservarli per qualsiasi motivo o eliminarli del tutto. Crea un nuovo mysql vuoto cartella in cui ripristinare i DMBS di cui è stato eseguito il backup.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Copia il sistema di database di cui è stato eseguito il backup nella cartella vuota:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Imposta le autorizzazioni appropriate per i file appena ripristinati:

    chown -R mysql:mysql /var/lib/mysql
    
  7. Riavvia il servizio MySQL:

    systemctl restart mysql
    

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Panoramica di backup e ripristino; Biblioteca MariaDB
  • Metodi di backup del database; Manuale di riferimento MySQL