Di norma per importare un database possiamo utilizzare lo strumento di importazione di phpMyAdmin. Ci sono però casi in cui bisogna importare database di grandi dimensioni e il processo di importazione fallisce o perché c’è un limite massimo di dimensioni o perché il processo va in timeout.
In tutti i casi in cui non è possibile usare phpMyAdmin, possiamo importare il database con una soluzione alternativa:
- usare un programma come Sequel Ace, Sequel Pro o HeidiSQL;
- usare un comando da terminale per l’importazione.
Vediamo come fare con entrambi i metodi.
Usare un programma per importare il database
Ci sono diversi programmi che ci permettono di gestire i database in remoto. Con macOS puoi usare Sequel Ace o Sequel Pro.
Con Windows puoi usare HeidiSQL compatibile al 100% con Windows 10 e 11, ma utilizzabile anche con Windows 7, 8 e su Wine (anche se in questi ultimi casi potresti riscontrare qualche errore).
Vediamo come fare usando HeidiSQL.
Prima di procedere devi abilitare le connessioni in remoto al database. Per farlo ti basta andare su cPanel e cercare lo strumento “Remote MySQL“.
Qui potrai aggiungere l’indirizzo IP del tuo computer in modo da poterti collegare al database. Puoi trovare il tuo IP usando il nostro tool.
Inserisci l’IP nel campo “Host” e poi clicca sul pulsante “Add host“.
A questo punto possiamo scaricare HeidiSQL e installarlo sul nostro computer o avviarlo nel caso della versione portable.
Dopo aver avviato HeidiSQL, aggiungiamo una nuova sessione cliccando su “Nuovo“.
Ci verranno richiesti i dati per collegarci al database:
- nome host: il nome o l’IP del server
- utente: il nome utente collegato al database.
- password: la password dell’utente.
- porta: in genere possiamo lasciare quella di default.
Compilati tutti i campi, possiamo cliccare su “Apri” per avviare la connessione.
Se i dati sono corretti, vedremo il contenuto del database. A questo punto possiamo importare il nostro file .sql cliccando su File > Carica file SQL e selezionando il file .sql da importare.
Per i database di grosse dimensioni vedremo un avviso come questo che ci chiede se eseguire direttamente il file o caricarlo nell’editor, in genere è preferibile eseguirlo direttamente per non saturare la memoria e mandare il programma in errore.
A questo punto non ti resta che aspettare che l’importazione del database venga completata.
Vediamo ora come fare a importare un database MySQL di grandi dimensioni direttamente da terminale.
Importare grandi database da terminale
In alternativa al metodo che abbiamo visto, è possibile caricare il file .sql sul server e poi importarlo con un comando da terminale.
Per prima cosa devi caricare il file sul server nella cartella principale dell’account, puoi usare FileZilla o direttamente il file manager di cPanel.
Con tutti i piani hosting di SupportHost, anche l’hosting condiviso, è disponibile la connessione SSH e il terminale è accessibile da cPanel.
Per procedere puoi aprire il terminale da cPanel o collegarti via SSH e lanciare questo comando:
mysql -u utente_db -p nome_db < filesql.sql
Devi sostituire i campi con quelli esatti:
- utente_db: sostituiscilo con il nome utente del database;
- nome_db: il nome del database;
- filesql.sql: devi specificare il nome e il percorso del file .sql che vuoi importare.
Dopo aver lanciato il comando, ti verrà chiesta la password del database e dopo averla inserita dovrai aspettare che l’importazione si completi. Se ci sono problemi, vedrai un messaggio di errore, altrimenti non vedrai nessun avviso.
Se il file che hai caricato è compresso, esempio “.sql.gz” puoi estrarlo direttamente da terminale con il comando gzip in questo modo:
gzip -d database.sql.gz
Ti basta inserire il nome corretto del database compresso al posto di “database.sql.gz”.