MariaDB - Metodi di backup

I dati servono come fondamento del business e delle operazioni e, con varie possibili minacce (ad esempio, attaccanti, errori di sistema, aggiornamenti non validi ed errori di manutenzione), i backup rimangono fondamentali. Questi backup assumono molte forme ed esistono molte opzioni per crearli con una serie ancora più ampia di opzioni all'interno di tali processi. Le cose importanti da ricordare sono il tipo di database, le informazioni critiche e la struttura coinvolta. Questa informazione determina la tua migliore opzione.

OPZIONI

Le opzioni principali per i backup includono backup logici e backup fisici. I backup logici contengono istruzioni SQL per il ripristino dei dati. I backup fisici contengono copie dei dati.

  • Logical backupsoffrono la flessibilità di ripristinare i dati su un'altra macchina con una configurazione diversa rispetto ai backup fisici, che sono spesso limitati alla stessa macchina e tipo di database. I backup logici vengono eseguiti a livello di database e di tabella e fisici a livello di directory e file.

  • Physical backupssono di dimensioni inferiori a quelle logiche e richiedono anche meno tempo per l'esecuzione e il ripristino. I backup fisici includono anche i file di registro e di configurazione, ma i backup logici no.

Strumenti di backup

Lo strumento principale utilizzato per i backup di MariaDB è mysqldump. Offre backup logici e flessibilità. Si rivela anche un'ottima opzione per piccoli database.Mysqldumpscarica i dati in SQL, CSV, XML e molti altri formati. Il suo output non conserva stored procedure, viste ed eventi senza istruzioni esplicite.

Ci sono tre opzioni per mysqldump backup -

  • Raw data - Scarica una tabella come file di dati non elaborati tramite l'opzione --tab, che specifica anche la destinazione del file -

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • Data/Definitions export- Questa opzione consente di esportare una o più tabelle in un file e supporta il backup di tutti i database esistenti sulla macchina host. Esaminare un esempio di esportazione di contenuti o definizioni in un file

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • Transfer - È inoltre possibile eseguire l'output di database e tabelle su un altro host

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

Utilizzo dell'istruzione SELECT ... INTO OUTFILE

Un'altra opzione per esportare i dati utilizza l'istruzione SELECT ... INTO OUTFILE. Questa semplice opzione restituisce la tabella in un semplice file di testo formattato -

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

I suoi attributi consentono di formattare il file secondo le specifiche preferite.

Nota le seguenti qualità di questa dichiarazione:

  • Il nome del file deve specificare la posizione desiderata per l'output.

  • Sono necessari i privilegi di file MariaDB per eseguire l'istruzione.

  • Il nome del file di output deve essere univoco.

  • Hai bisogno delle credenziali di accesso sull'host.

  • In un ambiente UNIX, il file di output è leggibile in tutto il mondo, ma la proprietà del server influisce sulla possibilità di eliminarlo. Assicurati di disporre dei privilegi.

Utilizzo di CONNECT nei backup

Il gestore CONNECT consente l'esportazione dei dati. Ciò si rivela utile principalmente nelle situazioni in cui l'operazione SELECT ... INTO OUTFILE non supporta il formato del file.

Rivedi il seguente esempio:

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

Altri strumenti

Altre opzioni per i backup sono le seguenti:

  • XtraBackup- Questa opzione ha come target i database XtraDB / InnoDB e funziona con qualsiasi motore di archiviazione. Ulteriori informazioni su questo strumento dal sito ufficiale di Percona.

  • Snapshots- Alcuni filesystem consentono gli snapshot. Il processo consiste nello svuotare le tabelle con il blocco di lettura, montare l'istantanea, sbloccare le tabelle, copiare l'istantanea e quindi smontare l'istantanea.

  • LVM- Questo popolare metodo utilizza uno script Perl. Ottiene un blocco di lettura su ogni tabella e scarica le cache su disco. Quindi ottiene un'istantanea e sblocca le tabelle. Consulta il funzionariomylvmbackup sito web per ulteriori informazioni.

  • TokuBackup- Questa soluzione fornita da Percona fornisce backup a caldo tenendo conto dei problemi e dei limiti delle opzioni di backup di InnoDB. Produce una copia audio transazionale dei file mentre le applicazioni continuano a manipolarli.Consultare il sito Web di Percona per ulteriori informazioni.

Considerazioni su INNODB

InnoDB utilizza un pool di buffer per il miglioramento delle prestazioni. In un backup, configurare InnoDB per evitare di copiare un'intera tabella nel pool di buffer perché i backup logici in genere eseguono scansioni complete della tabella.