Backup e Restore do MariaDB
Dica publicada em Banco de Dados / MySQL
Backup e Restore do MariaDB
Para quem não sabia, o MariaDB oferece uma ferramenta de backup, o mariadb-backup (comando: mariadbackup).
Essa ferramenta é instalada junto com o mariadb-server. Caso não venha instalado, instale o pacote com o nome "mariadb-backup".
Crie um diretório de backup, no caso: /backup. E agora, execute o backup:
# mariabackup --backup --target-dir /backup -u root
Onde: "--target-dir /backup" é onde será feito o backup. Tu podes compactar esse diretório, ou usar o RSync ou SCP para outro host, a escolha é sua.
Para restaurar um backup, tenha esses arquivos descompactados caso tenha compactado o mesmo.
Bom, primeiro seria para o banco de dados:
# systemctl stop mariadb
Remova todo o conteúdo do /var/lib/mysql/:
# rm -rf /var/lib/mysql/*
Agora execute a tarefa de preparação antes da tarefa de restauração (OK, se [concluído OK])
# mariabackup --prepare --target-dir /backup
Execute a restauração:
# mariabackup --copy-back --target-dir /backup Ajuste a permissão do diretório para o usuário "mysql":
# chown -R mysql. /var/lib/mysql
E inicie o serviço do MariaDB:
# systemctl start mariadb
Pronto! Backup efetuado e restaurado.
Espero que ajude.
Essa ferramenta é instalada junto com o mariadb-server. Caso não venha instalado, instale o pacote com o nome "mariadb-backup".
Crie um diretório de backup, no caso: /backup. E agora, execute o backup:
# mariabackup --backup --target-dir /backup -u root
Onde: "--target-dir /backup" é onde será feito o backup. Tu podes compactar esse diretório, ou usar o RSync ou SCP para outro host, a escolha é sua.
Para restaurar um backup, tenha esses arquivos descompactados caso tenha compactado o mesmo.
Bom, primeiro seria para o banco de dados:
# systemctl stop mariadb
Remova todo o conteúdo do /var/lib/mysql/:
# rm -rf /var/lib/mysql/*
Agora execute a tarefa de preparação antes da tarefa de restauração (OK, se [concluído OK])
# mariabackup --prepare --target-dir /backup
Execute a restauração:
# mariabackup --copy-back --target-dir /backup Ajuste a permissão do diretório para o usuário "mysql":
# chown -R mysql. /var/lib/mysql
E inicie o serviço do MariaDB:
# systemctl start mariadb
Pronto! Backup efetuado e restaurado.
Espero que ajude.
Aqui aonde eu trabalho eu utilizo um MariaDB para organizar "planilhas", eu uso como se fosse uma planilha, porque fica mais para emitir relariotios para meus superiores.
Hoje ja faz parte da minha rotina diária fazer o Backup, compactar com o 7z e (até aqui em linha de comando) depois copiar para o servidor da empresa com o Filezilla. NOTA: O MariaDB fica em uma maquina virtual na minha maquina.
A minha ideia seria colocar algo como uma rotina automática. Eu faço isso todos os dias:
# cd /home/debian
# mariabackup --backup --target-dir /home/debian/mariabkp -u root
# cd mariabkp/
# 7z a mariabkp-2021-11-19.7z *
# mv mariabkp-2021-11-19.7z ..
# cd ..
# rm -r mariabkp
# mv mariabkp-2021-11-19.7z arquivos/
(Claro todos os dias eu altero o dia do arquivo mariabkp-2021...)
E desta pasta arquivos eu copio com o Filezilla para o servidor.