Recentemente estava tentando importar/subir um Banco de Dados MySQL bem grande da minha máquina para o servidor.
Uso o PHPMyAdmin como gerenciador de dados, é uma excelente ferramenta, mas não permite que bases muito grandes de dados sejam importadas. O que fazer então? Calma, para tudo há uma solução!
Bom, “perdi” preciosas horas tentando resolver esse enigma – e achei várias maneiras diferentes de resolvê-lo – e vou compartilhar a solução mais rápida e eficaz que encontrei.
1º Verificar se a hospedagem disponibiliza o acesso via SSH
A maioria das hospedagens disponibiliza o acesso via SSH, não se preocupe, mas se não estiver em seu plano, sugiro que pesquise por BigDump (outro meio de subir bancos grandes, um meio tão eficaz quanto subir via SSH, porém não tão ágil);
2º Cliente SSH
Se sua plataforma for Mac OS X ou Linux, basta usar o terminal, se for Windows você precisa baixar um programa auxiliar – indico o Git Bash ou o Putty;
Vou usar o Git Bash, preferência pessoal. Clique aqui para fazer o download.
3º Subir o arquivo da máquina para o servidor
Agora vá para a pasta que está o arquivo .sql que deseja subir.
Primeiro subiremos para os arquivos do servidor e depois subiremos para o banco.
No local em que seu .sql está, clique com o botão direito e clique em Git Bash Here.
No exemplo abaixo, meu arquivo bigdata.sql.zip está no Desktop:
Uma tela preta irá abrir, basta digitar o comando abaixo para subir o arquivo:
scp <nomedoarquivo> <usuário>@<IP_ou_Hostname>:<Destino>
O nome do arquivo é do arquivo que está em seu pc e você quer subir – parece meio óbvio, mas algumas pessoas ficam com dúvida;
Usuário é o usuário que você usa para acessar o ftp;
O IP é o IP, né? Rs, ou você pode usar o host do ftp também, tanto faz.
E o destino é para onde vai o arquivo, você pode deixar na pasta raiz mesmo, na public, ou em uma pasta dentro da public, não importa, porque depois o arquivo será apagado.
Veja abaixo um exemplo feito:
Coloque a senha e pronto, o arquivo subiu!
Simples, rápido, ágil.
4º Subir o arquivo do servidor para o banco
Agora precisamos entrar no servidor via SSH para descompactar o zip e subir o arquivo para o banco.
Para conectar com o servidor digite o comando:
ssh <usuário>@<IP_ou_Hostname>
enter
Password: <suasenha>
Pronto, você está conectado!
Digite o comando
ls
Esse comando lista as pastas e arquivos encontrados.
Se você colocou seu arquivo na public_html, precisamos entrar nessa pasta.
Digite o comando
cd public_html
Digite o comando
ls
Veja que o arquivo que subiu está aí.
Se o seu arquivo estiver zipado, descompacte-o.
Use o comando abaixo (em negrito) de acordo com a extensão do seu arquivo. Se for:
.zip
unzip nomedoarquivo.zip
.tar
tar -xvf nomedoarquivo.tar
.gz
gzip -d nomedoarquivo.gz
.tar.gz
gzip -d nomedoarquivo.tar.gz
enter e depois
tar -xvf file.tar
.tgz
tar -xvzf nomedoarquivo.tgz
Como no meu exemplo estou usando um arquivo .zip, digitarei: unzip bigdata.sql.zip
Agora o arquivo está pronto para ser importado. Digite o comando:
mysql -h <IP_ou_Host_do_Banco_de_Dados> -u <usuáriodobancodedados> -p <nomedobanco>
<
<nomedoarquivo.sql
>
enter
Password: <senha_Banco_de_Dados>
Pronto! Agora o banco já está alimentado e o arquivo que subimos já pode ser deletado.