Como migrar tabelas de MyISAM para InnoDB sem perder dados imprimir

  • 0

Como migrar tabelas de MyISAM para InnoDB sem perder dados 🗄️

Oi! Aqui é a Sensei da GeHost 🥋 e hoje vou te ensinar, com calma e sem enrolação, como trocar o "motor" das suas tabelas do banco de dados de MyISAM para InnoDB — sem perder nenhum dado no caminho. Pode parecer assustador, mas é um procedimento tranquilo se seguirmos o passo a passo certinho.

Por que migrar de MyISAM para InnoDB?

MyISAM é um motor de banco de dados mais antigo. O InnoDB é o padrão mais moderno usado hoje (inclusive é o padrão do WordPress e da maioria dos sistemas atuais) porque:

  • Suporta transações (se algo der errado no meio de uma operação, o banco consegue "desfazer" e não fica com dado corrompido pela metade);
  • Tem travamento por linha (row-level lock), em vez de travar a tabela inteira — o que deixa o site mais rápido quando há muitos acessos ao mesmo tempo;
  • É mais resistente a corrupção em caso de queda inesperada.
💡 Dica da Sensei: se o seu site é WordPress, WooCommerce ou qualquer sistema baseado em plugins, é bem comum que algum plugin antigo ainda crie tabelas em MyISAM sem querer. Vale a pena revisar de tempos em tempos.

Antes de qualquer coisa: FAÇA O BACKUP 🚨

Essa é a regra de ouro. Nunca, jamais, sob hipótese alguma, altere o motor de uma tabela sem ter um backup completo do banco de dados em mãos. A migração em si é segura, mas imprevistos acontecem (queda de conexão, banco muito grande, etc.), e um backup te dá a tranquilidade de voltar atrás se algo sair do esperado.

  1. Acesse o cPanel pelo painel do seu plano (em painel.gehost.com.br, você encontra o acesso ao cPanel da sua hospedagem).
  2. Procure a ferramenta "Backup" dentro do cPanel.
  3. Gere um backup do banco de dados (pode ser o backup parcial, só do banco, ou o completo da conta — o importante é ter essa cópia salva no seu computador antes de seguir).
Tela de Backup do cPanel com opções de backup completo e parcial (diretório e banco de dados)

Guardou o arquivo em um lugar seguro? Ótimo, agora sim podemos seguir. 😊

Passo a passo: convertendo as tabelas

1. Identifique quais tabelas estão em MyISAM

Entre no cPanel e acesse "Bancos de Dados MySQL" ou o phpMyAdmin (geralmente disponível na mesma seção). No phpMyAdmin, clique no seu banco de dados na lateral esquerda: ele mostra uma lista de tabelas e, numa das colunas, o "Mecanismo de armazenamento" (Storage Engine) de cada uma. As que aparecerem como MyISAM são as candidatas à migração.

Tela de Bancos de Dados MySQL do cPanel, com opções de criar banco e gerenciar usuários

2. Converta pelo phpMyAdmin (o jeito mais simples)

  1. Ainda dentro do phpMyAdmin, marque a caixinha ao lado das tabelas que estão em MyISAM (ou selecione "Todos", se quiser converter todas de uma vez).
  2. No menu que aparece embaixo da lista ("Com o selecionado:" ou similar), procure a opção "Alterar mecanismo de armazenamento para" (Change storage engine to).
  3. Escolha InnoDB e confirme.

O phpMyAdmin vai rodar, para cada tabela selecionada, um comando parecido com:

ALTER TABLE nome_da_tabela ENGINE=InnoDB;

Isso não apaga nenhum dado — ele apenas reorganiza a estrutura interna da tabela para o novo motor, mantendo todas as linhas, colunas e conteúdo intactos.

3. Tabelas grandes: tenha paciência

Se você tem uma tabela com muitos registros (milhares ou milhões de linhas), a conversão pode demorar alguns minutos. Durante esse tempo:

  • Evite fazer alterações no site (edições, novos pedidos, etc.) até o processo terminar;
  • Não feche a aba do navegador nem interrompa o processo no meio;
  • Se a página parecer "travada" carregando, é normal em tabelas grandes — dê um tempo antes de se preocupar.

4. Confirme que deu tudo certo

Depois da conversão, volte na lista de tabelas do phpMyAdmin e confira: a coluna de mecanismo de armazenamento agora deve mostrar InnoDB nas tabelas convertidas. Dê uma navegada pelo seu site também, testando as principais funções (login, carrinho, formulários), só para confirmar que tudo continua funcionando normalmente.

Dica da Sensei: se o seu site é WordPress, depois de migrar vale checar se algum plugin específico depende de MyISAM (é raro hoje em dia, mas alguns plugins de busca full-text antigos preferiam MyISAM). Se notar algo estranho em um recurso específico, é só voltar àquela tabela puxando o backup.

E se algo der errado?

Se por qualquer motivo o site apresentar erro após a conversão, o backup que você fez no início é o seu seguro. Você pode restaurá-lo pela mesma ferramenta de "Backup" do cPanel, ou pedir apoio ao nosso suporte — se o seu projeto ainda está dentro dos 30 dias de suporte gratuito após a entrega, é só chamar a gente. Fora desse período, você também pode contar com nossa equipe normalmente através do painel.

Resumindo 📝

  1. Faça o backup completo do banco de dados;
  2. Identifique as tabelas em MyISAM no phpMyAdmin;
  3. Selecione e altere o mecanismo de armazenamento para InnoDB;
  4. Aguarde a conversão (com paciência em tabelas grandes);
  5. Teste o site e confirme que tudo funciona.

Viu como não precisa ter medo? Com calma e backup em mãos, essa migração é bem tranquila. Qualquer dúvida no caminho, a equipe da GeHost está por aqui pra te ajudar. Um abraço da Sensei! 🥋💚


Esta resposta lhe foi útil?

« Retornar