GNU/Linux >> Linux Esercitazione >  >> Linux

Come pianificare un backup del database MySQL su Ubuntu

L'esecuzione di backup regolari è una procedura essenziale per qualsiasi tipo di dati. Questo tutorial ti aiuterà a conoscere alcuni degli strumenti più utilizzati per il backup e il ripristino del tuo database MySQL.

Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l'hai già fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con SSH. In caso di server locale puoi andare al punto successivo e aprire il terminale del tuo server.

Usa mysqldump

Mysqldump è un'applicazione sempre disponibile in ogni installazione di MySQL e ti permette di eseguire un dump completo dei tuoi dati in formato testo.

La sintassi del comando è la seguente:

    $ mysqldump -u [username] -p [database] > backup.sql

Eseguendo questo comando, troverai un backup completo del database indicato nel file backup.sql.

Per ripristinare il backup utilizzare il client MySQL come segue:

    $ mysql -u [username] -p [database] < backup.sql

A seconda delle dimensioni del database, questi file di backup possono raggiungere dimensioni significative, rendendone difficile il trasferimento o la copia. Per ottimizzare la dimensione del backup del database, puoi utilizzare gzip per comprimere il file:

    $ mysqldump -u [username] -p [database] | gzip > backup.sql.gz

Se lo desideri, puoi anche aggiungere automaticamente la data corrente nel nome del file utilizzando:

    $ mysqldump -u [username] -p [database] | gzip > backup_$(date +%F.%H%M%S).sql.gz

Per ripristinare, usa invece la seguente sintassi:

    $ mysql -u [username] -p [database] < backup.sql

Note su mysqldump:

È bene tenere presente che durante il dump e il backup di un database, mysqldump non garantisce la coerenza dei dati tra le tabelle. Se si verificano operazioni di scrittura durante il backup, il backup ottenuto potrebbe essere parziale e/o danneggiato.

Per prevenire questo problema, ci sono opzioni specifiche fornite dall'applicazione:

  • --lock-all-tables:blocca tutte le operazioni di scrittura su tutte le tabelle di tutti i database

  • - lock-tables:questa opzione imposta invece il backup della tabella del database in modalità di sola lettura.

Le opzioni da scegliere dipendono dalla presenza o meno di dati relativi a più database. Nella maggior parte dei casi --lock-tables è la soluzione ideale per garantire l'integrità dei dati per ogni singolo database.

Automatizzare mysqldump tramite crontab

Per rendere periodico il backup, non devi far altro che aggiungerlo al crontab del sistema programmando, ad esempio, una volta al giorno. Innanzitutto, apri crontab avviando:

    $ sudo crontab -e

Ora aggiungi una riga alla fine del file come segue:

    00 23 * * * mysqldump -u [username] -p [database] | gzip > /home/utente/backup.sql.gz

Salvando il file, il sistema eseguirà un backup al giorno (alle 23:00) all'interno della directory utente, sovrascrivendo il backup precedente ogni giorno.

Usa automysqlbackup

Oltre a utilizzare mysqldump esportando manualmente i backup, puoi fare affidamento su una delle utility più popolari del settore:automysqlbackup.

Per prima cosa devi installare il pacchetto tramite apt-get:

    $ sudo apt-get install automysqlbackup

Dopo aver completato l'installazione, automysqlbackup eseguirà backup giornalieri nella directory /var / lib / automysqlbackup. Puoi anche avviare manualmente un backup avviando:

    $ sudo automysqlbackup

Una volta completati, puoi verificare i backup presenti semplicemente elencando il contenuto della directory:

    $ ls -R /var/lib/automysqlbackup/
    
    /var/lib/automysqlbackup/:
    
    daily  monthly  weekly
                    /var/lib/automysqlbackup/daily:
    
    exampledb  information_schema   performance_schema test  wordpress
                    /var/lib/automysqlbackup/daily/exampledb:
    
    exampledb_2019-08-03_06h48m.Sunday.sql.gz
    
    ...

Se tutto ha funzionato correttamente, noterai una serie di file con estensione .sql.gz come mostrato sopra.

Ti consigliamo di controllare periodicamente gli ultimi backup effettuati e verificarne il corretto funzionamento.

Personalizzazione di automysqlbackup

Per modificare la frequenza di backup di automysqlbackup oi dati di accesso necessari per accedere al tuo database puoi modificare il file di configurazione in /etc/default/automysqlbackup.

Alcune delle impostazioni sono:

  • USERNAME:username utilizzato per accedere al db

  • PASSWORD:password database

  • DBHOST:indirizzo IP o nome host

  • DBNAMES:nomi dei database di cui eseguire il backup

  • BACKUPDIR:Directory per salvare i backup

Dopo aver modificato le impostazioni desiderate, salva il file per applicare le modifiche.


Linux
  1. Come copiare un database MySQL

  2. MySQL:come eseguire il backup (scaricare) e ripristinare il database utilizzando mysqldump

  3. Come creare un backup di database MySQL utilizzando mysqldump su Ubuntu 20.04

  4. Come installare il database MySQL su Ubuntu 20.04

  5. Come installare MySQL su Ubuntu 22.04

Come ripristinare un database MySQL da .SQL Backup

Come creare un database in MySQL

Come eseguire il backup di un database MySQL in cPanel

Come installare MySQL 8.0 su Ubuntu 18.04

Come installare phpMyAdmin su Ubuntu 18.04

Come pianificare i backup di file su Google Drive su Ubuntu