Importa il database in un'istanza MySQL locale
Questo articolo fornisce una guida di base per importare un database in un'istanza MySQL locale da file di testo tramite la riga di comando utilizzando mysqlimport
client, che è un programma incluso in MySQL.
Il mysqlimport
il programma offre un'interfaccia a riga di comando semplificata per LOAD DATA
Istruzione MySQL, che legge le righe da un file di testo per aggiungerle alle tabelle nel database. mysqlimport
invia un LOAD DATA
dichiarazione al server.
Requisiti
- Il
mysqlimport
il programma rimuove l'estensione del file per identificare il nome della tabella, quindi il nome del file è importante. Se la tabella di destinazione è chiamatatest_table
, il file può essere denominatotest_table.txt
,test_table.csv
,test_table.tab
o qualsiasi altra estensione. - La tabella di destinazione dovrebbe esistere nella tabella. Nel caso in cui ricevi un errore perché la tabella non esiste assicurati che sia stata creata prima di utilizzare
mysqlimport
tool e che il nome del file corrisponda correttamente al nome della tabella.
Utilizzo del client mysqlimport
La sintassi per il programma `mysqlimport´ è la seguente:
mysqlimport [OPTIONS] DB_NAME TEXT_FILE_1 [TEXT_FILE_2 ... ]
Opzioni utili
Il mysqlimport
comando supporta più opzioni. In questa sezione descriveremo alcune delle opzioni più utili.
Autenticazione
Il flag --user
o -u
è il nome utente MySQL che verrà utilizzato per la connessione al server.
Puoi anche aggiungere il --password
o -p
flag per specificare la password dell'utente per la connessione al server. Tieni presente che l'utilizzo di questa opzione richiede la scrittura della password nella chiamata del comando, che è non sicura come salva nel registro della cronologia dei comandi. Se non aggiungi questo flag la password verrà richiesta dopo aver eseguito il comando.
Nel caso in cui l'utente non necessiti di alcuna password per accedere al server è possibile evitare che il terminale ne richieda una utilizzando il --skip-password
opzione.
mysqlimport -u USERNAME -password NOT_SO_SECURE_PASSWORD db_name table_name.txt
Leggi i file locali
Il flag --local
o -L
indica che il file verrà trovato sul client. Se questo flag non viene aggiunto, il file verrà cercato sul server.
mysqlimport -u USERNAME --local db_name table_name.txt
Comprime le informazioni
Per comprimere le informazioni inviate tra il client e il server (se possibile) utilizzare il --compress
o -C
opzione.
Specifica i nomi delle colonne
Usando le --columns
opzione e fornendo un elenco separato da virgole è possibile definire il nome per le colonne importate.
mysqlimport -u USERNAME --columns column1,column2,column3 --local db_name table_name.txt
Altre opzioni
Alcune altre opzioni comuni sono elencate di seguito:
--delete
:svuota la tabella di destinazione prima di importare i nuovi dati.--lock-tables
:blocca tutte le tabelle impedendo qualsiasi scrittura. Ciò consente che tutte le tabelle siano sincronizzate correttamente.--hostname
o-h
:indica l'host dove verranno importati i dati. Il valore predefinito èlocalhost
.--port
o-P
:indica la porta TCP/IP che verrà utilizzata per la connessione.
Conclusioni
Il mysqlimport
client è davvero utile per importare informazioni su tabelle esistenti in un'istanza MySQL all'interno dello stesso server (locale) o su un altro server usando il --hostname
e --port
opzioni in modo rapido e affidabile.
Le opzioni menzionate in questo articolo ti permetteranno di effettuare un'importazione facile con criteri specifici.
Articoli correlati
Per la guida completa delle opzioni di `mysqlimport', puoi visitare la documentazione ufficiale di mysqlimport.