Ora, si può avere una base di dati con le tabelle disgiunte, o un data warehouse - dove tutto non è normalizzato (del tutto), e dove non ci sono collegamenti cosa così mai tra le tabelle. In tal caso, qualsiasi discarica funzionerebbe.
I ASSUME, che un database di produzione contenente dati 38G contiene elementi grafici in qualche forma (BLOB), e quindi - in modo ubriaco - si hanno collegamenti da altre tabelle. Destra?
Pertanto, si è - per quanto posso vedere - a rischio di perdere seri collegamenti tra tabelle (in genere coppie di chiavi primarie/estranee), quindi, è possibile acquisire una tabella al punto di essere aggiornata/inserita in , mentre il suo dipendente (che usa quella tabella come fonte primaria) non è stato ancora aggiornato. Quindi perderai la cosiddetta integrità del tuo database.
Più spesso, è estremamente ingombrante per ristabilire l'integrità, più spesso a causa di che il sistema utilizza/generazione/mantenimento del sistema di database non è stato fatto come un sistema di transazione orientata, quindi, relazioni nel database non può essere monitorato eccetto tramite le relazioni chiave primarie/estranee.
Così puoi sicuramente fare a meno di copiare il tuo tavolo senza serrature e molte delle altre proposte qui sopra - ma sei a rischio di scottarti le dita e, a seconda di quanto siano sensibili le operazioni del sistema - tu può bruciare gravemente o semplicemente graffiare la superficie.
Esempio: se il database è un sistema di database mission critical, contenente frequenza battito cardiaco raccomandato per i dispositivi di supporto alla vita in una terapia intensiva, penserei più di due volte, prima di fare la migrazione.
Se, tuttavia, il database contiene le immagini da Facebook o sito simile = si può essere in grado di vivere con le conseguenze di qualsiasi cosa, da 0 fino a 129,388 collegamenti persi :-).
Ora - tanto per l'analisi. Soluzione:
VOI DEVI creare un software che esegua il dump per voi con piena integrità, tabella impostata per tabella, tupla per tupla. Devi identificare quel gruppo di dati, che può essere copiato dalla tua attuale base online 24/7/365 alla tua nuova base, quindi farlo, quindi contrassegnare che è stato copiato.
IFFF ora cambia in mente i record che avete già copiato, avrete bisogno di fare la successiva copia di quelli. Può essere un affare complicato farlo.
IFFF si sta eseguendo una versione più avanzata di MySQL - è possibile creare effettivamente un altro sito e/o una replica o un database distribuito - e quindi farla franca, in questo modo.
IFFF avete una finestra di diciamo 10 minuti, che è possibile creare in caso di necessità, allora si può anche semplicemente copiare i file fisici, che si trova sul disco. Sto parlando di .stm .std - e così via - file - quindi puoi chiudere il server per alcuni minuti, quindi copiare.
Ora ad una domanda cardinale:
Hai bisogno di fare la manutenzione delle vostre macchine di volta in volta. Il tuo sistema non ha spazio per questo tipo di operazioni? Altrimenti, allora cosa farai, quando il disco rigido si blocca. Presta attenzione al "quando" - non "se".
È necessario ottenere l'accesso al nuovo server ** PRIMO ** e probabilmente cercando la replica mysql per risolvere la migrazione. ** RICORDA: ** Puoi scaricare e installare sul nuovo server, ** BUT ** dopo aver eseguito il dump dei dati, ci sarà ** MORE ** new write, come sincronizzare la nuova scrittura sul nuovo server ? – ajreal
Per la successiva scrittura di nuovi dati, lo risolveremo usando mysqlbinlog, che dovrebbe essere ben curato. Ora la mia preoccupazione principale sarà la prima volta il backup usando mysqldump. Voglio solo assicurarmi che mysqldump prevenga INSERT o meno. Dal mio test, non ha dimostrato che lo farà. Voglio solo essere sicuro di come sia l'altra esperienza. – sylye