SSH: Importazione di dump .sql
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:
- Aprite la console SSH ed effettuate il login
- Navigate fino alla cartella dove avete caricato il file (usando cd)
-
Se avete compresso il file come indicato nel passaggio precedente, per estrarlo lanciate il comando:
gzip -d nome_archivio.gzip
- 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 - Lanciato questo comando vi verrà chiesta la password dell'utente mysql, inseritela e date INVIO.
- Dopo qualche secondo dovrebbe apparire una nuova riga di comando, che significa che l'importazione è avvenuta senza errori (nessuna nuova, buona nuova ;P)