Tu sei qui: Home / Guide / WEB / Sviluppo / SSH: Importazione di dump .sql

SSH: Importazione di dump .sql

Procedura per caricare ed importare su server WEB dei dump .sql utilizzando un comando da shell SSH (senza passare per phpmyadmin). Utile soprattutto per dump di grandi dimensioni

QUANDO USARLA

Questa procedura è molto utile nel caso si abbiano dei dump di dimensioni consistenti o con INSERT molto lunghi. Infatti se si cerca di importare/eseguire il file .sql da phpmyadmin, questo può rifiutare il file se troppo grande o causare un errore di timeout se l'esecuzione supera i 300 secondi.

Come ho scritto sopra il timeout può avvenire anche con le INSERT molto lunghe, quindi suddividere il dump nei singoli passaggi ed importarli uno ad uno non garantisce comunque il successo.

 

1 - UPLOAD

E' essenziale che il file .sql che si vuole importare sia caricato sul server. Una volta che vi siete connessi al server via SCP, caricate il file in una cartella di lavoro (è sufficiente che questa sia accessibile e modificabile dall'utente con cui avete effettuato l'accesso).

Se il file è troppo grande, comprimetelo in formato gzip.

 

 

2 - IMPORTAZIONE

Una volta caricato il file si può procedere all'esportazione:

  1. Aprite la console SSH ed effettuate il login
  2. Navigate fino alla cartella dove avete caricato il file (usando cd)
  3. Se avete compresso il file come indicato nel passaggio precedente, per estrarlo lanciate il comando:

    gzip -d nome_archivio.gzip
  4. Arrivati a questo punto si può procedere all'importazione. Lanciate il comando:
    mysql -u nome_utente -p  [-h nome_host] nome_db < nome_dump.sql
    

    Dove:
    nome_utente è l'username da utilizzare per accedere a mysql
    nome_host è il nome o l'indirizzo del server sul quale è presente mysql (non serve se mysql è installato sullo stesso server, nel qual caso non inserite la parte inclusa tra parentesi quadre)
    nome_db è il nome del database nel quale importare il dump
    nome_dump.sql è il nome del file .sql che contiene il dump e che avete appena caricato

  5. Lanciato questo comando vi verrà chiesta la password dell'utente mysql, inseritela e date INVIO.
  6. Dopo qualche secondo dovrebbe apparire una nuova riga di comando, che significa che l'importazione è avvenuta senza errori (nessuna nuova, buona nuova ;P)