Applicativi WindowsProgrammazione

Importare dump di database molto grossi con phpmyadmin

Soluzione testata per il pacchetto Xampp

Quando si desidera importare un dump SQL di grandi dimensioni in phpMyAdmin, è possibile incorrere in problemi come il limite di dimensione di upload che di default è limitato (la var è in php.ini) – e, spesso, non è possibile modificare o semplicemente non lo si vuole . Il limite di default è appena 2 MB.

Tuttavia, c’è una funzione che vi permetterà sia in locale ma anche in FTP di caricare un dump SQL in una directory di upload e poi istruire phpMyAdmin per eseguire il file di query.

Ecco come si fa (Soluzione testata per il pacchetto Xampp).

– Andare dentro alla cartella phpmyadmin sul webserver. All’interno di quella cartella c’è un file chiamato config.inc.php – aprire questo file col vostro editor preferito.
– Creare una directory all’interno della directory di phpmyadmin denominata upload
– Cercare nel file di configurazione la riga in cui c’è la var $cfg[‘uploaddir’]
Modificare nel modo seguente:

$cfg[‘uploaddir’] = ‘./upload’;

Non dimenticate di aggiungere il “./” prima di “upload” – questo serve a dire al codice di cercare nella directory esistente (phpmyadmin) una sottocartella chiamata “upload”.

Se non trovate la riga con questa var, aggiungetene una nuova.
– Salvare il file così modificato e poi copiare il dump sql in quella directory.
– Ora andare sul browser per usare in phpMyAdmin, andando sulla scheda “importa” verrà ora visualizzato un elenco a discesa dei file disponibili all’interno della vostra directory upload. Sceglire quello che si desidera importare.
Ora il dump sql verrà importato, ma se è di grandi dimensioni ci metterà parecchio tempo.

Alcune note

– È possibile comprimere il file in tar.gz, renderà il tempo di upload FTP più breve. 
– E’ possibile che se il dump è ENORME che phpmyadmin vada in timeout. Se il tempo di esecuzione php e / o le impostazioni di timeout non sono abbastanza grandi nel file php.ini, eseguire la query può essere problematico. 

Editare allora queste linee di php.ini:

max_execution_time = 300 , Tempo di esecuzione massimo di ogni script, in secondi (Dead 30)
max_input_time = 300 , La quantità massima di tempo ogni script può spendere richiesta data di analisi (Dead 60)
memory_limit = 128M , La quantità massima di memoria uno script può consumare (128mb Dead)
upload_max_filesize = 64M , Dimensione massima consentita per i file caricati. (Dead 2mb)
post_max_size = 64M , Dimensione massima di PHP POST dati che accetta.

Questo è tutto.