Importação lenta do Mysql

2

Eu importo um banco de dados, e quando eu executo o mytop eu vejo apenas um thread executando uma inserção. Em um grande banco de dados de 80G que levará muito tempo, existe alguma ferramenta ou pode ser uma opção para aumentar o número de threads?

    
por Ali Mezgani 31.01.2012 / 14:55

5 respostas

4

A melhor opção para o dump / load paralelo é o mydumper . que é escrito por pessoas que conhecem suas coisas.

Isso é fora do tópico, mas o innotop é uma ferramenta mais capaz do que o mytop, a propósito.

    
por 31.01.2012 / 23:19
1

Você pode testar o depósito e restore ferramentas.

As ferramentas do Maatkit foram inseridas no kit de ferramentas Percona , mas não consigo encontrar essas duas ferramentas nos documentos .

Você não verá melhora na velocidade, dependendo de como seus discos estão configurados. Algumas pessoas viram algumas melhorias significativas .

    
por 31.01.2012 / 16:24
0

Você pode tentar aumentar o valor da variável key_buffer_size em my.cnf para 20-25% da RAM disponível. Sua normalmente definida bastante baixa e aumentando, permitirá taxas de importação / despejo muito mais rápidas. Mais informações em: link

Meu conhecimento limitado não abrange multithreading, então eu não posso ajudá-lo lá.

    
por 31.01.2012 / 16:25
0

De outros bancos de dados, não do MySQL especialmente, eu sei, que ele pode melhorar sua velocidade, se você excluir índices antes de importar e recriá-los depois.

É claro que isso depende principalmente de 2 perguntas: você pode colocar o banco de dados offline durante a importação e os dados que você tenta importar provaram não violar as restrições, que são garantidas pelos índices.

Os gatilhos de inserção e atualização e os procedimentos armazenados podem desempenhar um papel semelhante.

    
por 31.01.2012 / 23:52
0

Você também pode apenas rsync sua pasta / var / lib / mysql para qualquer outra máquina. O melhor cenário para isso seria se você tivesse um escravo funcionando. Este você poderia simplesmente parar e desligar o serviço mysql. Dessa forma, os arquivos em / var / lib / mysql não serão alterados.

rsync -avhzr ssh user@yourmachine:/var/lib/mysql .

Dessa forma, eu poderia importar meu banco de dados 40G em 20 minutos, dependendo da largura de banda da sua rede.

    
por 01.02.2012 / 10:52

Tags