Backup de um único banco de dados com mariabackup?

1

Eu tenho trabalhado em refazer nossas rotinas de backup de banco de dados, e olhei para mariabackup como mysqldump não corta mais, dado o tamanho de nossos esquemas. Temos vários esquemas que precisam de backup - todos variam em tamanho e também variam em frequência de backup (alguns precisam de backup em um período de seis horas, outros podem passar um dia entre backups). Além disso, nosso banco de dados consiste em dois servidores de banco de dados, rodando em uma configuração mestre-escravo.

Para começar, executei este comando em um dos nossos esquemas:

mariabackup --backup --user root --password <pass> --databases db1

Isso gerou uma cópia dos arquivos de dados do esquema 'db1', junto com alguns arquivos usados pelo próprio MariaDB (aria_log, ib_buffer_pool, ib_logfile, ibdata, etc.). Isso funciona perfeitamente - podemos criar backups separados de cada um dos nossos esquemas.

Restaurar parece ser outra história no entanto. Depois de '- preparar o backup e emitir o comando mariabackup --copy-back, ele reclama que o diretório de dados deve estar vazio. Se eu tiver separado os backups, será possível restaurar esses esquemas em um banco de dados (ou melhor, em uma instância do MariaDB)? Para ser ainda mais claro, se eu fiz backups dos esquemas 'db1', 'db2' e 'db3', eu não consigo restaurar todos eles sob a mesma instância de banco de dados - existe algo que eu sou não entendendo?

    
por KevinP 01.03.2018 / 00:08

1 resposta

0

Backup parcial, como o seu, só pode ser restaurado com --prepare --export. que gera apenas alguns arquivos .cfg nos arquivos .ibd. A "restauração", deve ser "ALTER TABLE .. DISCARD TABLESPACE", "ALTER TABLE IMPORT TABLESPACE" para cada tabela no sistema de destino. Infelizmente, ele não é 100% automatizado, porque para descartar um espaço de tabela em um sistema de destino, você primeiro precisa criar um espaço de tabela no sistema de destino, com o mesmo "CREATE TABLE"

    
por 05.04.2018 / 00:49