Para o fun­ci­o­na­mento seguro de qualquer banco de dados, os backups são in­dis­pen­sá­veis. Uma falha, uma atu­a­li­za­ção com erro ou um incidente de segurança pode apagar dados de forma ir­re­ver­sí­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 di­fe­ren­cia entre dois tipos de backups:

  • Backups lógicos armazenam dados em um formato exe­cu­tá­vel SQL. Eles incluem ins­tru­çõ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 trans­fe­rir dados para outros sistemas, versões di­fe­ren­tes ou até mesmo para outros sistemas de banco de dados.
  • Backups físicos copiam arquivos e di­re­tó­rios do banco de dados di­re­ta­mente do sistema de arquivos. Este método é mais rápido e eficiente, es­pe­ci­al­mente para grandes volumes de dados. No entanto, ele funciona de forma confiável apenas se o servidor, os formatos de ar­ma­ze­na­mento e as versões do MariaDB per­ma­ne­ce­rem idênticos.

Para muitos cenários, é in­te­res­sante que você faça uma com­bi­na­ção de ambas as técnicas, como por exemplo, fazer dumps lógicos para dados ou tabelas in­di­vi­du­ais e backups físicos para res­tau­ra­ções completas e rápidas.

Opções para criar um backup MariaDB

MariaDB oferece várias fer­ra­men­tas para realizar backups de dados. De­pen­dendo do propósito, da quan­ti­dade de dados e do ambiente do sistema, di­fe­ren­tes métodos podem ser con­si­de­ra­dos.

mariadb-dump

mariadb-dump é a fer­ra­menta de backup mais conhecida do MariaDB. Ela cria backups lógicos e armazena os dados como um arquivo SQL. Este arquivo pode ser res­tau­rado pos­te­ri­or­mente usando o cliente MariaDB.

Vantagens:

  • Funciona em qualquer sistema com cliente MariaDB
  • Realiza backup de tabelas, de uma ou todas as bases de dados
  • Com­pa­tí­vel com outras versões do MariaDB e MySQL

Des­van­ta­gens:

  • Grandes volumes de dados aumentam o tempo de backup e res­tau­ra­ção
  • Durante o mariadb backup podem ocorrer picos de carga

mariadb backup

mariadb backup faz backup de dados fi­si­ca­mente. A fer­ra­menta é baseada no Percona Xtra­Bac­kup e foi ampliada para MariaDB. Ela suporta crip­to­gra­fia e com­pres­sã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

Des­van­ta­gens:

  • Funciona apenas com InnoDB (não com MyISAM)
  • Maior esforço na con­fi­gu­ra­ção e res­tau­ra­ção

Outras opções

  • mariadb-hotcopy: fer­ra­menta 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 con­ve­ni­ente

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. Cer­ti­fi­que-se de que o comando mariadb-dump esteja instalado e dis­po­ní­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

Ex­pli­ca­çã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 exis­ten­tes.
  • --result-file: define o arquivo de destino para o backup.

O mariadb backup inclui todas as bases de dados, incluindo a ad­mi­nis­tra­ção de usuários, triggers, views e tabelas do sistema.

Fazer o backup de uma base de dados es­pe­cí­fica

O seguinte comando --databases shop_db faz o backup apenas do banco de dados es­pe­ci­fi­cado.

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 res­tau­ra­çã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 ins­tru­çõ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 in­di­vi­du­ais

Es­pe­ci­fi­ca­mos o banco de dados e as tabelas desejadas di­re­ta­mente no comando. Isso é útil para ex­por­ta­ções es­pe­cí­fi­cas, por exemplo, ao migrar tabelas in­di­vi­du­ais.

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 pro­ce­di­men­tos 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: au­to­ma­ti­zar backup usando Cron

Au­to­ma­tize backups diários com um Cronjob. Abra a tabela do Cron:

crontab -e
bash

Insira esta linha para, por exemplo, criar um backup di­a­ri­a­mente à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 di­re­ta­mente na tabela do Cron. Em vez disso, crie um arquivo de con­fi­gu­ra­çã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 pre­fe­ren­ci­al­mente para backups flexíveis e in­de­pen­den­tes de sistema, além de menores volumes de dados. Para sistemas pro­du­ti­vos com grandes bases de dados, recomenda-se o mariadb-backup. Faça backups re­gu­lar­mente e verifique-os por meio de res­tau­ra­çõ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
Ir para o menu principal