Ajuda > Hospedagem > Como gerar um backup compactado no MySQL

Como gerar um backup compactado no MySQL

  1. Exportar banco de dados para um arquivo .sql
  2. Importar banco de dados de um arquivo .sql

O MySQL fornece uma ferramenta própria para realizar backups, que é o mysqldump. Indicamos utilizar esta ferramenta para fazer o backup de bancos de dados maiores que 100 MB.

Como o mysqldump funciona? Ele cria comandos SQL da estrutura e dados das tabelas e insere-os em um arquivo indicado.

Antes de seguir a leitura, recomendo que veja esse outro guia:
Como acessar arquivos da hospedagem via SSH


1. Exportar banco de dados MySQL para um arquivo .sql:

mysqldump --no-tablespaces -u [usuario] -p [banco] > backup.sql

Ao executar o comando acima, primeiro será solicitada a senha do seu banco de dados. Após isso, quando o comando for finalizado, será gerado um arquivo chamado backup.sql na pasta onde o comando foi executado (geralmente a raiz da hospedagem).

1.1. Utilize o comando abaixo para gerar um backup compactado:

mysqldump --no-tablespaces -u [usuario] -p [banco] | gzip > backup.sql.gz

O comando acima também vai gerar um backup do seu banco de dados, mas ele será compactado em tempo real no formato gzip e será salvo no arquivo backup.sql.gz.


E como eu faço para restaurar um backup?

2. Importar banco de dados MySQL a partir de um arquivo .sql:

mysql -u [usuario] -p [banco] < backup.sql

2.1. Utilize o comando abaixo para restaurar um backup em formato gzip:

gunzip < backup.sql.gz | mysql -u [usuario] -p [banco]

Mais detalhes sobre o mysqldump podem ser encontrados no manual online do MySQL.