In breve: quando phpMyAdmin import database troppo grande non completa il caricamento, identifica prima il livello che blocca il dump. Un file può superare upload_max_filesize o post_max_size, scadere durante upload o esecuzione, contenere una singola query oltre max_allowed_packet oppure richiedere più memoria e spazio. Per dump grandi, l’import con client MySQL è spesso più affidabile dell’upload web.
Indice dei contenuti
phpMyAdmin import database troppo grande: dove si blocca
Il percorso non va direttamente dal file a MySQL. Il browser invia una richiesta HTTP, il web server o il proxy la accetta, PHP gestisce upload e tempi, phpMyAdmin legge il dump e infine il client comunica le query al server database. Ogni livello applica limiti diversi e produce sintomi differenti.
| Sintomo | Livello probabile | Controllo utile |
|---|---|---|
| Il file non viene selezionato o supera il massimo mostrato | PHP/phpMyAdmin | upload_max_filesize e post_max_size |
| Errore 413 o reset durante l’upload | Web server o proxy | Limite corpo richiesta e log HTTP |
| Pagina bianca o timeout dopo l’avvio | PHP/phpMyAdmin | max_input_time, esecuzione, memoria e log |
| Packet too large o connessione persa su una query | MySQL/client | max_allowed_packet su entrambi i lati |
| Import parziale con errore SQL | Contenuto del dump | Riga, query, charset, versione e privilegi |

Leggere dimensione e messaggio
- Annota dimensione del file non compresso e, se usi
.gz, anche quella dell’archivio. - Copia il messaggio completo, il codice HTTP e la riga SQL indicata, senza dati riservati.
- Controlla il limite massimo mostrato nella pagina Importa di phpMyAdmin.
- Verifica se l’errore compare durante il trasferimento, all’inizio dell’elaborazione o sempre sulla stessa query.
- Confronta il dump con versione MySQL/MariaDB, charset e motore del database di destinazione.
Non confondere la dimensione totale del dump con la dimensione della query più grande. Un file da centinaia di megabyte può essere composto da query piccole e importabili in streaming; un dump più contenuto può includere un singolo INSERT enorme che supera il packet consentito.
Controllare i limiti PHP e HTTP
post_max_size deve essere maggiore di upload_max_filesize, perché la richiesta contiene anche dati del form. max_input_time comprende il tempo necessario a ricevere l’upload; max_execution_time riguarda l’esecuzione dello script secondo l’ambiente. Memoria insufficiente può interrompere decompressione o parsing.
Nel PHP Selector o nell’interfaccia prevista dal piano modifica solo i valori autorizzati e soltanto per il tempo necessario. Un aumento illimitato espone il servizio a richieste molto grandi e non corregge limiti del proxy o del database. Se l’errore è 413, cerca il limite del web server/CDN; se la connessione si interrompe a tempo costante, esamina timeout e log dello stesso intervallo.
Controllare max_allowed_packet
MySQL definisce un pacchetto come, tra gli altri casi, una singola istruzione SQL inviata al server. Client e server possiedono ciascuno un valore max_allowed_packet; il limite effettivo è quello più restrittivo. Quando il pacchetto lo supera, il server può chiudere la connessione e il client può mostrare ER_NET_PACKET_TOO_LARGE oppure “Lost connection to MySQL server during query”. Se WordPress non riesce più a raggiungere MySQL, consulta Errore nello stabilire una connessione al database in WordPress.
SHOW VARIABLES LIKE 'max_allowed_packet';
# esempio di import da shell autorizzata
mysql --default-character-set=utf8mb4
-u NOME_UTENTE -p NOME_DATABASE < backup.sqlNon inserire la password direttamente nel comando, perché può finire nella cronologia o nell’elenco dei processi. L’aumento del packet lato server richiede privilegi amministrativi e va concordato con il provider; spesso è preferibile rigenerare il dump con query estese meno grandi.
Scegliere il metodo di import
- phpMyAdmin: adatto a dump compatibili con il limite visualizzato e con tempi ragionevoli.
- File compresso: riduce upload e trasferimento; il contenuto decompresso deve comunque essere elaborato.
- Directory di upload phpMyAdmin: evita il form browser, ma deve essere configurata dall’amministratore e protetta.
- Client MySQL: evita i limiti HTTP e offre errori più chiari; richiede shell o un client autorizzato.
- Dump suddiviso: utile se la divisione rispetta ordine, vincoli e transazioni. Tagliare il file a byte casuali può spezzare una query.

Backup, esecuzione e verifica
- Esporta o salva il database di destinazione prima di sovrascriverlo. Se l’import fa parte di una migrazione completa, consulta Come trasferire il sito web (files + database) presso Xlogic.
- Verifica spazio disco sufficiente per dump, file temporanei, dati e log.
- Se possibile importa in un database vuoto di staging, usando lo stesso charset della destinazione.
- Non interrompere il processo soltanto perché la pagina sembra ferma: controlla log e attività database.
- A fine import confronta numero di tabelle, righe chiave, viste, trigger e dimensione complessiva.
- Per WordPress controlla
siteurl,home, accesso al backend e una selezione di contenuti senza eseguire sostituzioni serializzate improprie.
Errori da evitare
- Aumentare tutti i limiti alla cieca senza leggere l’errore.
- Rilanciare l’import su un database parziale e produrre duplicati.
- Disabilitare controlli SQL o vincoli senza comprenderne le conseguenze.
- Usare un dump proveniente da una versione incompatibile senza esaminarne sintassi e collation.
- Lasciare il file SQL in una directory pubblicamente raggiungibile.
- Considerare riuscito l’import perché la pagina non mostra errori, senza verificare tabelle e dati.
Domande frequenti
Aumentare upload_max_filesize basta sempre?
No. post_max_size deve essere superiore al file e possono intervenire max_input_time, timeout del proxy, memoria, configurazione phpMyAdmin e max_allowed_packet di client e server MySQL.
Posso importare un file SQL compresso?
Sì, phpMyAdmin supporta anche dump compressi compatibili. La compressione riduce il trasferimento, ma non elimina i limiti di esecuzione o i pacchetti SQL troppo grandi.
Quando è preferibile usare il client MySQL da riga di comando?
Quando il dump è grande, l’upload HTTP scade o phpMyAdmin interrompe l’esecuzione. Serve però accesso autorizzato alla shell e una copia verificata del database di destinazione.
Posso rilanciare più volte lo stesso import?
Solo se il dump e il database sono progettati per farlo. Un import parziale può creare righe duplicate o errori; è più sicuro ripristinare una destinazione pulita e verificata.
phpMyAdmin import database troppo grande: riepilogo
Un “database troppo grande” non è una diagnosi unica. Separare upload HTTP, limiti PHP, elaborazione phpMyAdmin e pacchetti MySQL consente di cambiare soltanto il parametro necessario oppure di scegliere subito un import da client, più controllabile e verificabile.