MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come eseguire il backup del database Moodle MariaDB

In precedenza, avevamo bloggato sul backup del database MySQL di Moodle. Questa volta, si tratta di eseguire il backup del database Moodle MariaDB. In effetti, condivide lo stesso approccio durante il backup del database MySQL Moodle del database Moodle MariaDB. Tuttavia, da MariaDB 10.2, ha deviato lentamente e continua ad avere differenze drastiche con la versione MySQL. A questo proposito, presta attenzione agli approcci che potresti dover considerare quando esegui il backup del tuo MariaDB in contrasto con MySQL se provenisse da esso.

Migliori pratiche per eseguire il backup di Moodle MariaDB

Prima consideriamo questo argomento. Fare un backup per i tuoi dati Moodle deve applicare le migliori pratiche per il tuo backup MariaDB in quanto ciò ti fornisce sicurezza e sicurezza soprattutto quando si verificano disastri o catastrofi in situazioni imprevedibili.

Allora che succede con questo? Fare un backup per il tuo Moodle ha a che fare almeno con i seguenti backup:

  • Backup logico
  • Copia fisica del backup
  • Recupero point-in-time (incrementale)

Backup logico

Un backup logico dei dati viene archiviato in un formato leggibile come SQL. I backup logici salvano le informazioni rappresentate come struttura logica del database (istruzioni CREATE DATABASE, CREATE TABLE) e contenuto (istruzioni INSERT o file di testo delimitato). Questo tipo di backup è adatto per quantità minori di dati in cui è possibile modificare i valori dei dati o la struttura della tabella o ricreare i dati su un'architettura di macchina diversa. Se tendi a utilizzare un enorme backup del database, assicurati di aver abilitato la compressione. Avvertenza in quanto ciò può richiedere molto spazio su disco in particolare.

In MariaDB, uno strumento comune da utilizzare è l'utilizzo di mysqldump, ma cambierà in futuro con mariadb-dump a partire da MariaDB 10.4.6 o 10.5.2 in poi. In alternativa, uno strumento comune da utilizzare per i DBA MySQL/MariaDB è mydumper se si desidera un backup parallelo per la copia di backup logica. Anche se ci sono alcuni problemi in alcune versioni o potrebbe avere problemi soprattutto per le ultime versioni di MariaDB. Se desideri utilizzarlo, presta attenzione ai log di backup durante la creazione di una copia.

Backup fisico

Il backup fisico contiene i dati binari del database che consistono in copie grezze delle directory e dei file che memorizzano il contenuto del database. Questa è un'azione appropriata da intraprendere soprattutto per un database di grandi dimensioni ed è più veloce ripristinare una copia completa del database rispetto a una copia di backup logica. D'altra parte, eseguire un backup fisico completo richiede tempo soprattutto se si dispone di un set di dati molto grande. Dipende anche dai parametri che hai abilitato o impostato che possono influire sull'ETA di backup.

Uno strumento comune da utilizzare per MariaDB è l'utilizzo di mariabackup. Mariabackup è uno strumento open source fornito da MariaDB. È un fork di Percona XtraBackup progettato per funzionare con tabelle crittografate e compresse ed è il metodo di backup consigliato per i database MariaDB.

Recupero point-in-time (PITR)

Il ripristino point-in-time si riferisce al ripristino delle modifiche ai dati fino a un determinato momento. Questo dato momento è l'obiettivo di recupero desiderato che è stato determinato e richiesto per essere ripristinato, che viene applicato durante il recupero. PITR è un ripristino point-forward e ciò significa che puoi ripristinare i dati dall'ora di inizio desiderata all'ora di fine desiderata, per il contrario leggi Usando MariaDB Flashback su un server MySQL. PITR è anche considerato un ulteriore metodo di protezione dei dati, in quanto salvaguarda la perdita di informazioni importanti.

In situazioni comuni, il backup PITR applicabile al tipo di ripristino viene eseguito dopo il ripristino di un backup completo che riporta il server allo stato al momento dell'esecuzione del backup. Il ripristino point-in-time aggiorna quindi il server in modo incrementale dal momento del backup completo a un'ora più recente. Velocizza inoltre la creazione di una replica all'interno di un cluster di replica per evitare di recuperare il ritardo con il database principale o di scrittura attiva di MariaDB.

Allora, quali sono questi backup? In MariaDB, i backup comuni applicabili al tuo PITR sono i log binari. La registrazione binaria deve essere configurata correttamente nel database MariaDB e deve essere abilitata. Se stai utilizzando ClusterControl, potrebbe non essere difficile configurarlo in quanto è configurato automaticamente per te ed è abilitato soprattutto durante la configurazione di un cluster di replica.

Quando si applica PITR, lo strumento più comune da utilizzare è mysqlbinlog o mariadb-binlog per MariaDB 10.5.2 in poi.

Miglior approccio per eseguire il backup del database Moodle MariaDB

Quando esegui il tuo database Moodle MariaDB, esegui sempre il backup durante le ore non di punta o quando il traffico è troppo basso. Prima di farlo, assicurati di aver testato il backup e che sia stato completato con successo. Una volta terminato, verifica se il backup è utile o meno e se soddisfa le tue esigenze quando è necessario il ripristino dei dati o quando è necessario il backup per creare un altro set di cluster (QA, sviluppo o estensione a un altro data center). Fondamentalmente, le seguenti sottosezioni devono essere l'approccio e la configurazione che devi affrontare.

Imposta una replica e porta il backup su replica

Se non hai dimestichezza con la replica, leggi il nostro white paper MySQL Replication for High Availability. Fondamentalmente, non risparmiare il tuo writer attivo o il nodo del database primario per l'esecuzione o l'esecuzione di un backup. L'esecuzione di un backup deve essere testato e non deve essere eseguito in produzione se non è stato ancora testato con una serie di comandi e la relativa politica di backup che hai creato. Una volta a posto, lascialo e puntalo su una replica. Puoi eseguire un backup dal tuo database MariaDB principale/master se non hai scelta o almeno sei sicuro di quello che stai facendo.

Esegui backup durante le ore non di punta

Quando esegui un backup, assicurati che siano le ore di punta. La tua replica deve essere il più possibile zero lag in modo che i dati più aggiornati vengano oscurati.

Crea una politica di backup

Il criterio di backup consiste nei parametri e nella pianificazione in cui viene eseguito il backup. Per i parametri, assicurati che soddisfino le tue esigenze, ad esempio sicurezza, compressione, ecc. La pianificazione deve essere permanente in modo che il tuo il backup deve essere presente quando necessario in caso di disastro ed è necessario il ripristino dei dati. Sarai anche in grado di determinare il tuo obiettivo di tempo di ripristino in modo da poter determinare la frequenza con cui eseguire la pianificazione del backup e quando.

Come creare un backup del database Moodle MariaDB

Utilizzo di mariadb-dump/mysqldump

Il comando seguente creerà il backup del database per Moodle. In questo esempio, il nome del database è moodle. Abbiamo incluso trigger, stored procedure o routine ed eventi. Stampa il GTID e le informazioni master utili quando desideri eseguire il provisioning di una replica dal nodo database primario o master.

$  /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle

Puoi semplicemente sostituire mariadb-dump con mysqldump se stai usando MariaDB versione <10.5.2. Se hai bisogno di comprimere, puoi eseguire il comando seguente:

$  /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz

Utilizzo di mariabackup

Il mariabackup può essere preso semplicemente. Per questo, utilizzeremo mbstream come formato di streaming e archiviazione desiderato. Puoi usare il comando seguente:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream

Se miri a comprimerlo, puoi eseguire il seguente comando:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz

Utilizzo di ClusterControl

Se passi a una soluzione gestita in particolare per eseguire il backup del tuo Moodle, ClusterControl la adotta in modo semplice ma offre funzionalità avanzate per eseguire il backup. Dai un'occhiata allo screenshot qui sotto:

Creare un backup è molto semplice e facile. Tutto quello che devi fare è andare su → Backup → Crea backup.

Nello screenshot qui sopra, ho mysqldump, mysqldump con PITR compatibile e mariabackup. È possibile selezionare quale host eseguire il backup. Come accennato in precedenza, assicurati di eseguire il backup sulla replica o sullo slave. Ciò significa che assicurati che lo slave sia selezionato. Vedi screenshot qui sotto:

Durante la selezione o la scelta di mysqldump, ClusterControl consente all'utente di scegliere il tipo di dati da scaricare. Ciò include anche un dump compatibile PITR per il backup. Vedi screenshot qui sotto:

Per il backup binario o fisico, a parte mysqldump come backup logico, puoi scegliere mariabackup completo o incrementale. Vedi sotto:

Le posizioni di archiviazione consentono solo all'utente di scegliere se rimanere sul nodo o trasmetterlo in streaming all'host ClusterControl. Se si dispone di un server esterno non registrato in ClusterControl, è possibile utilizzare NFS per montare il volume di cui si desidera eseguire il dump del backup. Anche se potrebbe non essere l'ideale, ma in alcuni casi, ciò soddisferà soprattutto se la larghezza di banda della rete o il trasferimento di rete sono abbastanza veloci da trasmettere i dati localmente all'altro nodo tramite la rete.

In sostanza, puoi scegliere i backup da caricare nel cloud. Puoi vedere lo screenshot in precedenza e selezionare la casella di controllo per abilitarlo proprio come di seguito:

Come accennato in precedenza, ClusterControl esegue il backup in modo semplice da usare ma fornisce funzionalità avanzate, ecco le opzioni che puoi impostare.

Per mysqldump,

Per mariabackup,

molto facile da usare. ClusterControl offre anche la verifica del backup e il ripristino del backup, quindi è facile determinare se il backup è utile o meno. Ciò aiuta a rendere utile il backup del database Moodle soprattutto quando è necessario richiedere il ripristino dei dati per l'emergenza e il ripristino.

Conclusione

Può essere facile eseguire il backup del database Moodle MariaDB, ma quando i dati diventano più grandi e il traffico aumenta, può essere una grande sfida. Devi solo seguire le migliori pratiche, assicurarti di aver protetto i tuoi dati, assicurarti che il tuo backup sia verificato e sia utile quando è necessario applicare il ripristino dei dati.