Indice dei contenuti
ToggleSuccede spesso che il backup di un database MySQL sia di grandi dimensioni, e superi il limite che l’hosting ha imposto alle dimensioni massime di importazione in phpMyAdmin.
A me è capitato di recente, con un backup di WordPress da ripristinare. Come fare allora?
Possiamo risolvere in tre modi, uno facile e gli altri 2 un pochino più impegnativi.
1. Importazione con MySQL da shell
È il metodo sicuramente più pratico e veloce, quello che preferisco, ma non è il più facile.
Richiede un accesso SSH al server, che pochi servizi di hosting offrono, e un minimo di dimestichezza con il terminale.
Il comando da utilizzare è questo, nella sua sintassi più semplice:
mysql -h localhost -u nomeutente -p nomedatabase < nomebackup.sql
Vanno sostituiti ovviamente i dati relativi al server MySQL, al nome del database e del relativo utente, e dando Invio bisogna inserire la password, sempre relativa all’utente del database.
2. Dividere il file MySQL in più parti
Questo è il metodo più facile.
Se non si ha accesso al server tramite SSH, o se il terminale incute un certo timore, è possibile utilizzare una semplice applicazione per dividere il database in più parti, e quindi importarle singolarmente con phpMyAdmin.
L’applicazione per windows si chiama SQL Dump Splitter, purtroppo per Mac OS X non ho trovato niente di simile.
Il funzionamento è semplice e intuitivo, basta dargli in pasto il file mysql da splittare, ed indicargli la dimensione che deve essere, ovviamente, minore di quella impostata come limite in phpMyAdmin.
Una volta ottenuti i vari file li si importa con phpMyAdmin, con la sola accortezza di rispettare l’ordine sequenziale, e di iniziare dal file con la struttura dei dati.
3. Importare un database mysql di grandi dimensioni con BigDump
BigDump è uno script PHP disponibile in rete, bisogna caricarlo e configurarlo con i dati del database e del server MySQL.
A questo punto va lanciato da web, ed in genere effettua il suo lavoro egregiamente, senza problemi.
Si trova tutto qui: BigDump, download script ed istruzioni.
Leggere bene le istruzioni prima di procedere.
8 risposte
Dai Rob… non mi dire che non conosci Sequel Pro!!! che è una delle poche applicazioni che rimpiangerei qualora abbandonassi il Mac.
Ho appena passato dal Pismo ad un minipc Android una tabella MySQL da 3.308.104 record, con un unico file di 145 MB… tutto liscio come l’olio, e pure molto veloce.
😉
Ciao mitico 🙂
Ne ho sentito parlare ma non l’ho mai usata, che fa di bello?
rob
Io lo uso al posto di phpMyAdmin. A dire il vero io uso mysql a livello hobbystico… comunque tutto quello che a me serve di phpMyAdmin, creare database, tabelle, utenti, export, import… lo ritrovo in Sequel Pro, che è una vera app per Mac, molto ben fatta, e con una UI decisamente migliore.
Ho utilizzato BigDump per caricare il db di un cliente di enormi dimensioni sul mio phpmyadmin, in locale
Ma mi riporta gli stessi limiti di caricamento del mio server wamp, possibile? ò.ò
Io (fortunatamente) uso la shell anche in locale, perciò grossi problemi non li ho mai riscontrati. Non è però che i problemi siano in wamp? Magari devi ottimizzare la configurazione php per impostare dei limiti maggiori.
rob
In OsX puoi sempre usare il comando split
split -l 5000 ./path/to/mysqldump.sql ./mysqldump/dbpart-
stando attenti a non aver interrotto qualche comando.
In questo esempio interrompe dopo 5000 righe ma si può anche dividerlo in base al peso del file più altre opzioni visibili digitando “man split” nel Terminale.
Si, il comando split è estremamente comodo, io preferisco l’opzione “-l” così sono sicuro che mi interrompe al fine riga. dovrebbe farlo anche con “-b” ma hai visto mai…
Il problema però si pone poi nell’importazione: da terminale puoi fare un “cat dbpart-1 dbpart-2 etc | mysql ….” e vai sul sicuro, ma da phpmyadmin?
rob