Ho questo enorme dump SQL da 32 GB che devo importare in MySQL. Non ho mai importato un dump SQL così grande prima. Ho fatto il solito:
mysql -uroot dbname < dbname.sql
Ci vuole troppo tempo. C'è una tabella con circa 300 milioni di righe, è arrivata a 1,5 milioni in circa 3 ore. Quindi, sembra che il tutto richiederebbe 600 ore (ovvero 24 giorni) ed è poco pratico. Quindi la mia domanda è: c'è un modo più veloce per farlo?
Ulteriori informazioni / risultati
- Le tabelle sono tutte InnoDB e non sono state definite chiavi esterne. Vi sono, tuttavia, molti indici.
- Non ho accesso al server e al DB originali, quindi non posso effettuare un nuovo backup o fare una copia "a caldo" ecc.
- L'impostazione
innodb_flush_log_at_trx_commit = 2
come suggerito qui sembra non apportare miglioramenti (chiaramente visibili / esponenziali). - Statistiche del server durante l'importazione (da MySQL Workbench): https://imgflip.com/gif/ed0c8 .
- La versione di MySQL è la comunità 5.6.20.
- innodb_buffer_pool_size = 16M e innodb_log_buffer_size = 8M. Devo aumentarli?