update mysql

Ciao a tutti,

vi scrivo in quanto dopo innumerevoli tentativi sono entrato in fase disperazione!!!

allora vi espongo il problema:

devo inserire 20 milioni di record all'interno di un database mysql

tentativi effettuati:

inviato 9 anni fa
antonio_
X 0 X

tentativi effettuati: ( solo quelli aventi un minimo risultato rispettabile)

1- creazione pagina php contenente uno script php che inserisca i records prelevati da un txt ( che ho dovuto updatare nel server), all'interno del db problema riscontrato: pur non avendo limiti di timeout in apache dopo circa 100.000 record sembra che mysql vada in errore chiudendo bruscamente la connessione ed impedendo così la continuazione dello script

2- importazione del db in un db my sql in locale, e utilizzando un tunnel attraverso l'applicazione navicat importazione dei dati problema riscontrato: dopo ogni 10.000 record davicat perde la connessione, costringendomi a ricominciare l'upload ( con questa tecnica sono riuscito ad uploadare circa 200.000 record in 2 giorni ) non credo cmq sia la soluzione ideale

Soluzione che mi piacerebbe adottare ( ma ho bisogno del vostro aiuto)

Vorrei provare ad effettuare l'upload dei dati contenuti all'interno del mio db in locale nel server attraverso una pagina php che girerà in locale.

per fare questo però avrei bisogno di creare un tunnel di connessione con il mysql in remoto (simulando il tunnel di navicat o di mysql-front) cosa che non riesco a fare.

sono cmq ben accette proposte per altri metodi

risposto 9 anni fa
antonio_
X 0 X

Quando parli di tunnel intendi SSH? Per realizzarlo "a mano" puoi usare un programma di nome Putty.

Se hai un accesso SSH al server perché non provi ad utilizzare gli strumenti di MySQL da riga di comando per importare il file?

In che formato sono memorizzati i record sul file? SQL? CSV?

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni,

Grazie per la risposta!

Quando parli di tunnel intendi SSH?

onestamente non so se il tipo di tunnel previsto dai suddetti programmi è un tunnel ssh

In che formato sono memorizzati i record sul file? SQL? CSV?

i dati originariamente erano in formato csv (circa 600 mb di file)

ma avendoli importati in locale, in mysql, ho costruito anche il formato sql.

 

risposto 9 anni fa
antonio_
X 0 X

allora per prima cosa verifica se hai un accesso ssh al server remoto ed in caso positivo, dopo aver effettuato l'upload del file SQL, importa i dati da riga di comando:

mysql < backup.sql -u nome_utente -p

ti verrà chiesta la password.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda