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 TABLE e INSERT 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.sql
bash

Explicaçã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.sql
bash

Se você quiser evitar a instrução CREATE DATABASE no dump, use:

mariadb-dump -u root -p shop_db --result-file=/backups/shop_db.sql
bash

Neste 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.sql
bash

Fazer 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.sql
bash

Possí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 -e
bash

Insira 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).sql
bash

Por 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=password
bash

Defina os direitos de acesso:

chmod 600 ~/.my.cnf
bash

Em seguida, use a seguinte variante nos Cronjobs sem senha:

mariadb-dump --all-databases --result-file=/backups/backup-$(date +\%F).sql
bash

Use 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.

Cloud Compute Engine da IONOS

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
Este artigo foi útil?
Ir para o menu principal