Quando falamos em rotinas de backup de banco de dados, um dos comandos mais utilizados é o mysqldump, pois permite gerar um arquivo .sql com as instruções necessárias para recriar as tabelas e os dados do banco.
Neste guia prático, você aprenderá:
- Como exportar um banco de dados MySQL
- Como importar um backup .sql
- Como gerar a data no nome do backup automaticamente via variável
Pré-requisitos
- MySQL instalado e acessível no terminal
- Usuário com permissão de leitura/escrita no banco
- Terminal Linux/Mac (para Windows, utilize Git Bash ou WSL para compatibilidade)
Exportando o banco de dados (Backup)
Vamos usar uma variável chamada DATA que recebe a data atual no formato YYYY-MM-DD:
DATA=$(date +%F)
Agora rode o comando de exportação:
mysqldump -u usuario -p --default-character-set=utf8mb4 nome_do_banco > bkp-${DATA}.sql
O arquivo gerado será algo como:
bkp-2025-11-27.sqlA opção --default-character-set=utf8mb4 garante compatibilidade com emojis e caracteres especiais.
Importando o banco de dados (Restauração)
Caso o banco ainda não exista, crie-o antes:
mysql -u usuario -p -e "CREATE DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
Para restaurar um backup .sql em outro banco (ou no mesmo):
mysql -u usuario -p --default-character-set=utf8mb4 nome_do_banco < bkp-${DATA}.sql
Dicas de Segurança
Nunca salve senhas diretamente no comando
Mantenha os arquivos .sql fora do repositório e GitHub
Automatize o backup com cron em produção
Agendamento de Backup
Exemplo de backup diário às 02:00 da manhã via cron:
0 2 * * * DATA=$(date +\%F) && mysqldump -u usuario -p'suaSenha' --default-character-set=utf8mb4 nome_do_banco > /backups/bkp-${DATA}.sql
OBS: Em cron a data precisa usar \%F com escape do %.
Considerações finais
Com poucos comandos é possível garantir a segurança e recuperação dos seus dados. Recomendo manter backups em local seguro e testar periodicamente a restauração.
Feito!
Nenhum comentário:
Postar um comentário