Eu tenho esse imenso despejo de SQL de 32 GB que preciso importar para o MySQL. Eu não tive que importar um dump SQL tão grande antes. Eu fiz o de sempre:
mysql -uroot dbname < dbname.sql
Está demorando muito. Há uma tabela com cerca de 300 milhões de linhas, que chegou a 1,5 milhão em cerca de 3 horas. Parece que tudo levaria 600 horas (24 dias) e é impraticável. Então, minha pergunta é: existe uma maneira mais rápida de fazer isso?
Mais informações / descobertas
- As tabelas são todas do InnoDB e não há chaves estrangeiras definidas. Existem, no entanto, muitos índices.
- Como não tenho acesso ao servidor e ao banco de dados originais, não posso fazer um novo backup nem fazer uma cópia "quente" etc.
- Definir
innodb_flush_log_at_trx_commit = 2
como sugerido aqui parece não melhorar (claramente visível / exponencial). - Estatísticas do servidor durante a importação (do MySQL Workbench): https://imgflip.com/gif/ed0c8 .
- A versão do MySQL é a comunidade 5.6.20.
- innodb_buffer_pool_size = 16M e innodb_log_buffer_size = 8M. Preciso aumentar isso?