Banco de dados 34 visualizações

Como exportar e importar um banco de dados MySQL grande via linha de comando

Ver no WHMCS

Como exportar e importar um banco de dados MySQL grande via linha de comando

Oi! Aqui é a Sensei da GeHost 🥋 Se você chegou até aqui, provavelmente precisa mover, migrar ou fazer um backup manual de um banco de dados MySQL que está grande demais para os métodos "clique e pronto" do painel. Não se preocupe — vou te guiar passo a passo, com calma, usando a linha de comando (terminal), que é a forma mais confiável e rápida de lidar com bancos volumosos.

Antes de começar: o acesso via linha de comando (SSH) depende do que está incluso no seu plano de hospedagem. Se você não tiver certeza se o seu plano contempla esse tipo de acesso, dá uma olhada no painel.gehost.com.br ou fale com o nosso suporte antes de seguir — assim você já começa sabendo exatamente o que tem disponível.

O que você vai precisar

  • Acesso ao terminal (SSH) do servidor de origem e/ou destino;
  • O nome do banco de dados, o usuário e a senha (você encontra e gerencia isso em Bancos de Dados MySQL, dentro do cPanel);
  • Espaço em disco suficiente para gerar o arquivo de exportação;
  • Um pouco de paciência — bancos grandes podem levar alguns minutos para exportar/importar. 😉
Tela 'Bancos de Dados MySQL' do cPanel mostrando criação de banco e usuários

Passo 1: Exportando o banco com o mysqldump

O comando mysqldump é a ferramenta oficial do MySQL para gerar um "retrato" completo do seu banco em um arquivo .sql. No terminal, digite:

  1. Conecte-se via SSH ao servidor onde o banco está hospedado;
  2. Execute o comando:
    mysqldump -u SEU_USUARIO -p NOME_DO_BANCO > backup.sql
  3. Quando for solicitado, digite a senha do usuário do banco (a mesma configurada no cPanel);
  4. Aguarde o processo terminar — para bancos grandes, isso pode demorar. O arquivo backup.sql será criado na pasta em que você estiver.

Passo 2: Compactando o arquivo (recomendado para bancos grandes)

Arquivos .sql de bancos grandes podem ficar pesados. Compactar economiza espaço e deixa a transferência bem mais rápida:

  1. Você pode já gerar o dump direto compactado, combinando os dois comandos:
    mysqldump -u SEU_USUARIO -p NOME_DO_BANCO | gzip > backup.sql.gz
  2. Isso reduz bastante o tamanho do arquivo, principalmente em bancos com muito texto ou dados repetitivos.

Passo 3: Enviando o arquivo para o destino

Se a exportação e a importação forem em servidores diferentes, transfira o arquivo com um cliente SFTP/SCP do seu terminal, por exemplo:

scp backup.sql.gz usuario@servidor_destino:/caminho/de/destino/

Se preferir uma opção mais visual, você também pode enviar o arquivo pelo Gerenciador de Arquivos do cPanel.

Gerenciador de Arquivos do cPanel com a árvore de pastas

Passo 4: Importando o banco de dados

  1. Antes de importar, crie o banco de dados de destino (se ele ainda não existir) pela tela Bancos de Dados MySQL do cPanel, junto com o usuário e as permissões;
  2. No terminal do servidor de destino, se o arquivo estiver compactado, descompacte primeiro:
    gunzip backup.sql.gz
  3. Depois, importe com o comando:
    mysql -u SEU_USUARIO -p NOME_DO_BANCO < backup.sql
  4. Digite a senha quando solicitado e aguarde a conclusão. Pronto — seu banco estará restaurado! 🎉

Dicas da Sensei para bancos MUITO grandes

Dica 1: use a opção --single-transaction no mysqldump (para bancos InnoDB) — ela evita travar as tabelas durante a exportação, o que é ótimo se o banco estiver em uso.
mysqldump --single-transaction -u SEU_USUARIO -p NOME_DO_BANCO > backup.sql
Dica 2: se a importação for muito demorada e a conexão SSH cair no meio do caminho, rode o comando dentro de uma sessão screen ou tmux, assim o processo continua rodando mesmo se você se desconectar.
Dica 3: sempre confira o espaço em disco disponível antes de exportar (df -h) — nada pior do que um dump interrompido na metade por falta de espaço.

E se eu não tiver acesso via linha de comando?

Sem problemas! Se o seu plano não incluir acesso SSH, você ainda consegue exportar e importar bancos pelo próprio cPanel:

  • Use o phpMyAdmin (disponível dentro do cPanel) para exportar/importar bancos pela interface visual;
  • Para bancos muito grandes, a tela de Backup do cPanel permite gerar backups parciais, incluindo apenas o banco de dados;
  • Se mesmo assim o arquivo for grande demais para o phpMyAdmin, fale com o nosso suporte — a gente te ajuda a encontrar a melhor forma de fazer essa migração.

E é isso! Com esses passos você consegue exportar e importar bancos MySQL grandes com segurança e tranquilidade. Qualquer dúvida no meio do caminho, é só chamar o suporte da GeHost — estamos aqui pra ajudar. 💚

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.