2015-06-30 17 views
6

Ho bisogno di fare il backup di un database Drupal è enorme. Quindi ha oltre 1500 tabelle (non incolpare me, è una cosa Drupal) ed è di 10 GB.come posso fare un backup sicuro di un enorme database?

Non ho potuto farlo con PHPMyAdmin, ho appena ricevuto un errore quando ha iniziato a creare il file .sql.

Voglio assicurarmi che non rompa nulla o prenda il server in basso o nulla quando provo a eseguire il backup.

Stavo per tentare un mysqldump sul mio server e quindi copiare il file in locale ma ho capito che questo potrebbe causare problemi imprevisti. Quindi la mia domanda è, è sicuro usare mysqldump su così tante tabelle contemporaneamente e anche se è sicuro ci sono problemi che un file così grande potrebbe portare in futuro alla ricostruzione del database?

Grazie per l'input ragazzi.

+0

Scarico dal guscio. – MilanG

+0

verificarlo: http://moinne.com/blog/ronald/mysql/backup-large-databases-with-mysqldump o https://blog.serverdensity.com/backing-up-large-mysql-databases/ –

risposta

10

è sicuro da usare mysqldump su tanti tavoli contemporaneamente

corro backup giornalieri con mysqldump su server letteralmente 10 volte questa dimensione: 15000+ tabelle, 100+ GB.

Se non hanno esaminato il contenuto di un file prodotto da mysqldump ... si dovrebbe, perché per vedere la sua uscita è quello di capire il motivo per cui si tratta di un'utility di backup a sicurezza intrinseca:

I backup sono leggibili e consistono interamente delle istruzioni SQL necessarie per creare un database esattamente come quello di cui si è eseguito il backup.

In questa forma, il loro contenuto è facilmente manipolato con gli strumenti onnipresenti come sed e grep e perl, che possono essere utilizzati per strappare un solo tavolo da un file per il restauro, per esempio.

Se un ripristino non riesce, l'errore indicherà il numero di riga all'interno del file in cui si è verificato l'errore. Questo è solitamente correlato al comportamento buggy nella versione del server in cui è stato creato il backup (ad esempio, MySQL Server 5.1 consente di creare visualizzazioni in alcune situazioni in cui il server stesso non accetta l'output della propria istruzione SHOW CREATE VIEW. non è considerato - dallo stesso server - di essere una definizione di vista valida, ma questo non era un difetto mysqldump, o nel file di backup, per sé)

ripristino da un backup mysqldump-creata è. non è velocissimo, perché il server deve eseguire tutte quelle istruzioni SQL, ma dal punto di vista della sicurezza, direi che non esiste un'alternativa più sicura, dal momento che è lo strumento di backup canonico e che è probabile che tutti i bug vengano trovati e risolto in virtù della grande base di utenti, se non altro.

Non utilizzare l'opzione --force, tranne in caso di emergenza.Il backup salterà su eventuali errori incontrati sul server mentre il backup è in esecuzione, causando l'incompleto backup senza praticamente alcun avviso. Invece, trova e correggi eventuali errori che si verificano. Gli errori tipici durante il backup sono correlati a viste che non sono più valide perché fanno riferimento a tabelle o colonne che sono state ridenominate o eliminate, o dove l'utente che ha originariamente creato la vista è stato rimosso dal server. Risolvi questi problemi ridefinendo la vista, correttamente.

Soprattutto, testare i backup ripristinandoli su un server diverso. Se non lo hai fatto, non hai davvero dei backup.

Il file di output può essere compresso, in genere in modo sostanziale, con gzip/pigz, bzip2/bpzip2, xz/pixz o zpaq. Questi sono elencati in ordine approssimativo per quantità di spazio salvato (gzip salva meno, zpaq salva di più) e velocità (gzip è il più veloce, zpaq è il più lento). pigz, pbzip2, pixz e zpaq si avvantaggeranno di più core, se ne hai. Gli altri possono usare solo un singolo core alla volta.

+0

Risposta perfetta, esattamente il dettaglio che stavo cercando. Grazie Michael. La tua conoscenza potrebbe probabilmente risolvere il problema che avevo dopo aver usato MySQLDump, ecco un link alla domanda se hai un momento libero per dare un'occhiata http://stackoverflow.com/questions/31141585/why-have-a-lost- tavoli-quando-movimento-da-phpmyadmin-to-local-mysql-workbench –

1

Usa mysqlhotcopy è ben lavorando con grandi database

  • lavoro solo MyISAM e archivio a tavoli.
  • Funziona solo sul server in cui è archiviato il database.
  • Questa utility è deprecato in MySQL 5.6.20 e rimossi in MySQL 5,7
Problemi correlati