Salta al contenuto

phpMyAdmin import database troppo grande

Pubblicato il Aggiornato il

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.

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.

SintomoLivello probabileControllo utile
Il file non viene selezionato o supera il massimo mostratoPHP/phpMyAdminupload_max_filesize e post_max_size
Errore 413 o reset durante l’uploadWeb server o proxyLimite corpo richiesta e log HTTP
Pagina bianca o timeout dopo l’avvioPHP/phpMyAdminmax_input_time, esecuzione, memoria e log
Packet too large o connessione persa su una queryMySQL/clientmax_allowed_packet su entrambi i lati
Import parziale con errore SQLContenuto del dumpRiga, query, charset, versione e privilegi
Limiti che possono bloccare un import database in phpMyAdmin
Upload HTTP, PHP, phpMyAdmin e MySQL applicano limiti differenti

Leggere dimensione e messaggio

  1. Annota dimensione del file non compresso e, se usi .gz, anche quella dell’archivio.
  2. Copia il messaggio completo, il codice HTTP e la riga SQL indicata, senza dati riservati.
  3. Controlla il limite massimo mostrato nella pagina Importa di phpMyAdmin.
  4. Verifica se l’errore compare durante il trasferimento, all’inizio dell’elaborazione o sempre sulla stessa query.
  5. 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.sql

Non 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.
Scelta del metodo per importare un database troppo grande
La dimensione del dump e gli accessi disponibili determinano il metodo

Backup, esecuzione e verifica

  1. 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.
  2. Verifica spazio disco sufficiente per dump, file temporanei, dati e log.
  3. Se possibile importa in un database vuoto di staging, usando lo stesso charset della destinazione.
  4. Non interrompere il processo soltanto perché la pagina sembra ferma: controlla log e attività database.
  5. A fine import confronta numero di tabelle, righe chiave, viste, trigger e dimensione complessiva.
  6. 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.

Fonti tecniche

phpMyAdmin import database troppo grande ultima modifica: 2026-08-02T19:43:19+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?