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

Best practice di backup per MySQL, MariaDB e Galera Cluster

Mille grazie a tutti coloro che si sono registrati e/o hanno partecipato al webinar di martedì sulle strategie di backup e le migliori pratiche per i cluster MySQL, MariaDB e Galera guidato da Krzysztof Książek, Senior Support Engineer presso Diversinines. Se ti sei perso la sessione, vorresti guardarla di nuovo o sfogliare le diapositive, ora sono online per la visualizzazione. Controlla anche la trascrizione della sessione di domande e risposte di seguito.

Guarda la replica del webinar

Che tu sia un professionista SysAdmin, DBA o DevOps che gestisce cluster MySQL, MariaDB o Galera in produzione, dovresti assicurarti che i tuoi backup siano pianificati, eseguiti e regolarmente testati. Krzysztof ha condiviso ieri alcuni dei suoi suggerimenti e trucchi chiave per le migliori pratiche su come fare proprio questo; inclusa una demo dal vivo con ClusterControl. In breve, questo replay del webinar ti mostra i pro ei contro delle diverse opzioni di backup e ti aiuta a scegliere quella che si adatta meglio al tuo ambiente.

Buon backup!

Domande e risposte

D. Possiamo controllare l'I/O mentre eseguiamo i backup con mysqldump e mysqldumper (ho usato nice prima, ma non è stato utile).

R. In teoria potrebbe essere possibile, anche se non l'abbiamo testato. Se vuoi davvero applicare un po' di limitazione, allora potresti voler esaminare cgroups:dovrebbe aiutarti a limitare l'attività di I/O in base al processo.

D. Possiamo prendere mydumper con ClusterControl e ClusterControl è un software gratuito?

R. Al momento non lo supportiamo, ma puoi sempre usarlo manualmente; ClusterControl non ti impedisce di utilizzare questo strumento. Esiste una versione community gratuita di ClusterControl, sì, sebbene le sue funzionalità di backup facciano parte della versione commerciale. Con la versione community gratuita puoi distribuire e monitorare il tuo database (cluster) e sviluppare i tuoi consulenti di database personalizzati. Hai anche un periodo di prova di un mese che ti dà accesso a tutte le funzionalità di ClusterControl. Puoi trovare tutti i dettagli delle funzionalità qui:https://diversealnines.com/pricing

D. Xtrabackup può funzionare con la crittografia dei dati inattivi?

R. Può funzionare con dati crittografati in MySQL o Percona Server - è perché crittografano solo i tablespace, che xtrabackup copia semplicemente - non deve accedere al contenuto dei tablespace. MariaDB crittografa non solo i tablespace ma anche, ad esempio, i redo log di InnoDB, a cui è necessario accedere da xtrabackup, quindi xtrabackup non può funzionare con la crittografia dei dati inattivi come implementata in MariaDB. Per questo motivo MariaDB Corporation ha eseguito il fork di xtrabackup in MariaDB Backup. Questo strumento supporta la crittografia eseguita da MariaDB.

D. È possibile utilizzare mydumper per il ripristino temporizzato?

R. Sì, è possibile. mydumper può memorizzare i dati GTID in modo da poter identificare l'ultima transazione applicata e utilizzarla come posizione di partenza per l'elaborazione dei log binari.

D. È un problema se utilizziamo log binari con xtrabackup con start-datetime e end-datetime invece di start-position e end-position? Effettuiamo un backup completo il venerdì e a giorni alterni un backup incrementale. Quando abbiamo bisogno di recuperare, prendiamo gli ultimi backup completi e tutti i backup incrementali e i log binari da questo giorno a partire dalle 00:00 ad ADESSO ... potrebbe esserci un problema con apply-log?

R. In generale, non dovresti usare --start-datetime o --end-datetime quando vuoi rispondere al log binario sul database. Non è abbastanza granulare:ha una risoluzione di un secondo e potrebbero esserci molte transazioni avvenute durante quel secondo. Puoi usarlo per ridurre al minimo i tempi da cercare manualmente, ma questo è tutto. Se vuoi riprodurre i log binari, dovresti usare --start-position e --end-position. Solo questo definirà con precisione da quale evento riprodurrai i binlog e su quale evento andrà a finire.

D. Devo eseguire il software di dump sul bilanciamento del carico o su uno dei nodi MySQL?

R. In genere lo utilizzerai sui nodi MySQL. Alcuni degli strumenti possono fare solo questo. Ad esempio, Xtrabackup:devi eseguirlo localmente, sull'host del database. Puoi eseguire lo streaming dell'output in un'altra posizione, ma deve essere avviato localmente.

D. Possiamo eseguire backup parziali con ClusterControl? E se sì, come possiamo ripristinare un backup su un'istanza in esecuzione?

R. Sì, puoi eseguire un backup parziale utilizzando ClusterControl (puoi eseguire il backup di uno schema separato utilizzando xtrabackup) ma, al momento, non puoi ripristinare un backup parziale su un'istanza in esecuzione. Ciò è causato dal fatto che lo schema da ripristinare non sarà coerente con il resto del cluster. Per renderlo coerente, è necessario eseguire il bootstrap del cluster dal nodo su cui si ripristina un backup. Quindi, tecnicamente, il nodo funziona tutto il tempo ma è un'operazione abbastanza pesante e invasiva. Questo cambierà nella prossima versione di ClusterControl in cui sarai in grado di ripristinare i backup su un host separato. Da quell'host è quindi possibile eseguire il dump del contenuto di uno schema ripristinato utilizzando mysqldump (o mydumper) e ripristinarlo su un cluster di produzione.

D. Puoi condividere il comando mysqldumper?

R. È piuttosto difficile rispondere a questa domanda senza fare copia e incolla dalla documentazione, quindi pensiamo che sarebbe meglio se ti indicassimo la documentazione:https://github.com/maxbube/mydumper/tree/ master/documenti

Guarda la replica del webinar

Whitepaper correlato Guida DevOps ai backup di database per MySQL e MariaDBQuesto whitepaper illustra le due utilità di backup più popolari disponibili per MySQL e MariaDB, ovvero mysqldump e Percona XtraBackup.Download