Como gerar um backup compactado no MySQL?
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 e com até 15/20 GB. Acima disso, a probabilidade de você ter problemas para restaurar um backup e o longo tempo que será necessário para criar o backup, tornam o recurso inviável.
Como o mysqldump funciona? Ele cria comandos SQL da estrutura e dados das tabelas e insere-os em um arquivo indicado.
Segue como fazer o backup de um banco de dados:
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).
Para gerar um backup compactado, utilize o comando abaixo:
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 usando gzip e será salvo no arquivo backup.sql.gz.
E como eu faço para restaurar um backup?
mysql -u USUARIO -p BANCO < backup.sql
Ou quando se tratar de um backup compactado com gzip, o comando será este abaixo:
gunzip < backup.sql.gz | mysql -u USUARIO -p BANCO
Mais detalhes sobre o mysqldump podem ser encontrados no manual online do MySQL.