Backup do MariaDB: como proteger seus dados
Para o funcionamento seguro de qualquer banco de dados, os backups são indispensáveis. Uma falha, uma atualização com erro ou um incidente de segurança pode apagar dados de forma irreversível. Neste tutorial, você vai aprender como proteger de modo eficaz as bases de dados MariaDB e realizar um backup completo do MariaDB.
Tipos de backup do MariaDB: lógico vs. físico
MariaDB diferencia entre dois tipos de backups:
- Backups lógicos armazenam dados em um formato executável SQL. Eles incluem instruções como
CREATE TABLEeINSERT INTO, que permitem restaurar a estrutura e os conteúdos do banco de dados. Backups lógicos são ideais para transferir dados para outros sistemas, versões diferentes ou até mesmo para outros sistemas de banco de dados. - Backups físicos copiam arquivos e diretórios do banco de dados diretamente do sistema de arquivos. Este método é mais rápido e eficiente, especialmente para grandes volumes de dados. No entanto, ele funciona de forma confiável apenas se o servidor, os formatos de armazenamento e as versões do MariaDB permanecerem idênticos.
Para muitos cenários, é interessante que você faça uma combinação de ambas as técnicas, como por exemplo, fazer dumps lógicos para dados ou tabelas individuais e backups físicos para restaurações completas e rápidas.
Opções para criar um backup MariaDB
MariaDB oferece várias ferramentas para realizar backups de dados. Dependendo do propósito, da quantidade de dados e do ambiente do sistema, diferentes métodos podem ser considerados.
mariadb-dump
mariadb-dump é a ferramenta de backup mais conhecida do MariaDB. Ela cria backups lógicos e armazena os dados como um arquivo SQL. Este arquivo pode ser restaurado posteriormente usando o cliente MariaDB.
Vantagens:
- Funciona em qualquer sistema com cliente MariaDB
- Realiza backup de tabelas, de uma ou todas as bases de dados
- Compatível com outras versões do MariaDB e MySQL
Desvantagens:
- Grandes volumes de dados aumentam o tempo de backup e restauração
- Durante o mariadb backup podem ocorrer picos de carga
mariadb backup
mariadb backup faz backup de dados fisicamente. A ferramenta é baseada no Percona XtraBackup e foi ampliada para MariaDB. Ela suporta criptografia e compressão.
Vantagens:
- Rápido e eficiente em grandes volumes de dados
- Realiza mariadb backups durante a operação (Hot Backup)
- Adequado para sistemas de produção com tabelas InnoDB
Desvantagens:
- Funciona apenas com InnoDB (não com MyISAM)
- Maior esforço na configuração e restauração
Outras opções
- mariadb-hotcopy: ferramenta antiga para tabelas MyISAM (não é mais mantida)
- LVM-Snapshots: backup em nível de sistema de arquivos. Muito rápido, mas mais complexo
- dbForge Studio: solução gráfica para sistemas Windows com interface conveniente
Exemplo prático: realizar backup do Mariadb com mariadb-dump
Você precisa de acesso ao servidor de banco de dados e uma conta de usuário com direitos de backup (por exemplo, root). Abra um terminal ou uma conexão SSH. Certifique-se de que o comando mariadb-dump esteja instalado e disponível no caminho.
Fazer backup de todas as bases de dados
Execute o seguinte comando:
mariadb-dump -u root -p --all-databases --result-file=/backups/backup_all.sqlbashExplicação:
-u root: define o usuário root.-p: solicita a inserção da senha.--all-databases: faz o backup de todas as bases de dados existentes.--result-file: define o arquivo de destino para o backup.
O mariadb backup inclui todas as bases de dados, incluindo a administração de usuários, triggers, views e tabelas do sistema.
Fazer o backup de uma base de dados específica
O seguinte comando --databases shop_db faz o backup apenas do banco de dados especificado.
mariadb-dump -u root -p --databases shop_db --result-file=/backups/shop_db.sqlbashSe você quiser evitar a instrução CREATE DATABASE no dump, use:
mariadb-dump -u root -p shop_db --result-file=/backups/shop_db.sqlbashNeste caso, você terá que criar o banco de dados por conta própria durante a restauração.
Fazer backup de várias bases de dados
A seguir, liste as bases de dados que serão incluídas no backup. Você gerará um arquivo SQL com instruções para todas as bases de dados listadas.
mariadb-dump -u root -p --databases db1 db2 db3 --result-file=/backups/multiple.sqlbashFazer backup de tabelas individuais
Especificamos o banco de dados e as tabelas desejadas diretamente no comando. Isso é útil para exportações específicas, por exemplo, ao migrar tabelas individuais.
mariadb-dump -u root -p db_name table1 table2 --result-file=tables.sqlbashPossíveis opções para mariadb-dump
| Opção | Descrição |
|---|---|
--no-data
|
Faz backup apenas da estrutura, sem os dados |
--no-create-info
|
Faz backup apenas dos dados, sem a estrutura das tabelas |
--routines
|
Faz backup de procedimentos e funções |
--events
|
Faz backup de eventos agendados |
--single-transaction
|
Backup sem bloqueios em tabelas InnoDB |
--quick
|
Reduz o uso de memória em tabelas grandes |
MariaDB: automatizar backup usando Cron
Automatize backups diários com um Cronjob. Abra a tabela do Cron:
crontab -ebashInsira esta linha para, por exemplo, criar um backup diariamente às 3 horas:
0 3 ** * mariadb-dump -u root -p password --all-databases --result-file=/backups/backup-$(date +\%F).sqlbashPor razões de segurança, não armazene senhas diretamente na tabela do Cron. Em vez disso, crie um arquivo de configuração .my.cnf no diretório home:
[client]
user=root
password=passwordbashDefina os direitos de acesso:
chmod 600 ~/.my.cnfbashEm seguida, use a seguinte variante nos Cronjobs sem senha:
mariadb-dump --all-databases --result-file=/backups/backup-$(date +\%F).sqlbashUse mariadb-dump preferencialmente para backups flexíveis e independentes de sistema, além de menores volumes de dados. Para sistemas produtivos com grandes bases de dados, recomenda-se o mariadb-backup. Faça backups regularmente e verifique-os por meio de restaurações de teste. Apenas um backup testado protege de forma confiável contra perda de dados.
Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.
- Seguro
- Confiável
- Flexível

