Mysql
 sql >> Database >  >> RDS >> Mysql

Come prevenire i timeout di connessione per grandi importazioni MySQL

Strategie per l'importazione di database MySQL di grandi dimensioni

Importazione PHPMyAdmin

È probabile che se stai leggendo questo, PHPMyAdmin non era un'opzione per l'importazione del tuo database MySQL di grandi dimensioni. Comunque vale sempre la pena provare, giusto? La causa più comune di errore per le importazioni PHPMyAdmin è il superamento del limite di importazione. Se lavori in locale o hai il tuo server, puoi provare a modificare le impostazioni di MySQL ini che si trovano solitamente nel file my.ini che si trova nella cartella di installazione di MySQL. Se stai lavorando con WAMP su Windows, puoi accedere a quel file usando il pannello di controllo WAMP in MySQL> my.ini. Ricordati di riavviare WAMP in modo che le tue nuove impostazioni vengano utilizzate. Le impostazioni che potresti voler aumentare qui includono:

max_allowed_packet
read_buffer_size

Anche con le impostazioni di importazione MySQL avanzate, potresti comunque riscontrare che le importazioni scadono a causa delle impostazioni PHP. Se hai accesso a PHP.ini, puoi apportare modifiche al tempo massimo di esecuzione e alle relative impostazioni. In WAMP, accedi al file PHP.ini nel pannello di controllo WAMP in PHP> php.ini. Prendi in considerazione l'aumento dei limiti delle seguenti impostazioni durante il tentativo di importazioni MySQL di grandi dimensioni:

max_execution_time
max_input_time
memory_limit

Utilizzo dell'importatore di dump MySQL sfalsato Big Dump

Se l'importazione di base di PHPMyAdmin non funziona, potresti provare lo script Big Dump di Ozerov.de per le importazioni sfalsate di MySQL. Ciò che fa questo utile script è eseguire l'importazione in blocchi più piccoli, che è esattamente ciò che è spesso necessario per importare con successo un dump MySQL di grandi dimensioni. È un download gratuito disponibile su http://www.ozerov.de/bigdump/ .

Il processo di utilizzo di Big Dump è abbastanza semplice:in pratica posizioni il tuo file di importazione SQL e lo script Big Dump insieme sul server, imposti alcune configurazioni nello script Big Dump e quindi esegui lo script. Big Dump si occupa del resto!

Un punto chiave di questa opzione altrimenti eccezionale è che non funzionerà affatto sulle esportazioni MySQL che contengono inserti estesi. Quindi, se hai la possibilità di impedire gli inserti estesi, provalo. Altrimenti dovrai usare un altro metodo per importare il tuo file MySQL di grandi dimensioni.

Vai alla riga di comando con la console MySQL

Se stai utilizzando WAMP (e anche se non lo sei) c'è sempre la possibilità di andare al sodo e importare il tuo grande database MySQL usando la console MySQL. Sto importando un database da 4 GB in questo modo mentre scrivo questo post. Questo è in realtà il motivo per cui ho del tempo da dedicare alla scrittura, perché anche questo metodo richiede tempo quando hai un file SQL da 4 GB da importare!

Alcuni sviluppatori (di solito io) sono intimiditi aprendo uno schermo nero e digitando comandi criptici al suo interno. Ma può essere liberatorio, e quando si tratta di database MySQL è spesso la strada migliore da prendere. In WAMP accediamo alla console MySQL dal pannello di controllo WAMP in MySQL> Console MySQL. Ora impariamo i 2 semplici comandi di MySQL Console necessari per importare un database MySQL, in stile riga di comando:

use `db_name`

Comando use seguito dal nome del database indicherà alla console MySQL quale database si desidera utilizzare. Se hai già impostato il database in cui stai importando, allora inizi emettendo il use comando. Supponiamo che il tuo database si chiami my_great_database . In questo caso, immetti il ​​seguente comando nella console MySQL. Nota che i comandi devono terminare con un punto e virgola.

mysql-> use my_great_database;

mysql-> source sql_import_file.sql

Comando source seguito dal percorso di un file SQL importerà il file SQL nel database specificato in precedenza con use comando. Devi fornire il percorso, quindi se stai usando WAMP sul tuo server locale, inizia mettendo il file SQL in un posto facile da ottenere come C:\sql\my_import.sql. Il comando completo con questo percorso di esempio sarebbe:

mysql-> source C:\sql\my_import.sql;

Dopo aver eseguito quel comando, il file SQL dovrebbe iniziare a essere importato. Lascia che le query vengano eseguite e consenti il ​​completamento dell'importazione prima di chiudere la console MySQL.

Ulteriore documentazione per la riga di comando di MySQL può essere trovata qui:http:// dev.mysql.com/doc/refman/5.5/en/mysql.html .

Un'altra soluzione è utilizzare MySQL Workbench .