Como converter um despejo .sql do MyISAM para o InnoDB?

3

Posso converter o banco de dados MySAM do .sql no mecanismo do InnoDB antes de importá-lo para o meu servidor MySQL? Infelizmente, a importação do arquivo .sql atual demora a ser concluída.

    
por Jakub Pastuszuk 22.06.2017 / 11:32

2 respostas

4

Você pode usar sed para pesquisar engine myisam e substituí-lo por engine innodb .

sed -e 's/engine myisam/engine innodb/g file.sql' > file_innodb.sql
    
por 22.06.2017 / 11:35
2

Se você realmente quiser alterar o mecanismo antes de importar, encontrar / substituir é o único caminho. Não tenho certeza se alterar MyISAM para InnoDB pode acelerar a importação, mas considere alguns pontos:

Se você tiver um dump grande, não use o phpMyAdmin para importar. Com o phpMyAdmin, impomos restrições de php, como o tempo máximo de execução, e a importação pode falhar. Use a linha de comando - CMD no Windows ou Terminal no linux - para acessar o mysql e depois importar o dump. Isso funciona muito bem, eu fiz importações de arquivo de 2,5 GB sem problemas.

A velocidade de importação depende do dump em si também. Se o dump for criado com uma instrução de inserção por registro, o caminho será lento. Selecione "inserir várias linhas em cada instrução INSERT" durante a exportação e, em seguida, a importação será muito mais rápida

    
por 26.07.2017 / 19:19

Tags