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. 😉
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:
- Conecte-se via SSH ao servidor onde o banco está hospedado;
- Execute o comando:
mysqldump -u SEU_USUARIO -p NOME_DO_BANCO > backup.sql
- Quando for solicitado, digite a senha do usuário do banco (a mesma configurada no cPanel);
- Aguarde o processo terminar — para bancos grandes, isso pode demorar. O arquivo
backup.sqlserá 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:
- Você pode já gerar o dump direto compactado, combinando os dois comandos:
mysqldump -u SEU_USUARIO -p NOME_DO_BANCO | gzip > backup.sql.gz
- 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.
Passo 4: Importando o banco de dados
- 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;
- No terminal do servidor de destino, se o arquivo estiver compactado, descompacte primeiro:
gunzip backup.sql.gz
- Depois, importe com o comando:
mysql -u SEU_USUARIO -p NOME_DO_BANCO < backup.sql
- 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-transactionno 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ãoscreenoutmux, 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. 💚