Anteriormente, havíamos feito um blog sobre como fazer backup do seu banco de dados MySQL do Moodle. Desta vez, trata-se de fazer backup do seu banco de dados Moodle MariaDB. Na verdade, ele compartilha a mesma abordagem ao fazer backup do seu banco de dados MySQL do Moodle como com o seu banco de dados Moodle MariaDB. No entanto, desde o MariaDB 10.2, ele se desviou lentamente e continua a ter diferenças drásticas com a versão do MySQL. A este respeito, preste atenção às abordagens que você pode ter que considerar quando estiver fazendo backup do seu MariaDB em contraste com o MySQL se você fosse dele.
Melhores práticas para fazer seu backup Moodle MariaDB
Vamos considerar este tópico primeiro. Fazer um backup dos seus dados do Moodle deve aplicar as melhores práticas para o backup do MariaDB, pois isso fornece segurança e garantia, especialmente quando desastres ou catástrofes surgem em situações imprevisíveis.
Então, o que há com isso? Fazer um backup para o seu Moodle tem a ver pelo menos com os seguintes backups:
- Backup lógico
- Cópia física do seu backup
- Recuperação pontual (incremental)
Backup Lógico
Um backup lógico de dados é armazenado em um formato legível como SQL. Os backups lógicos salvam informações representadas como estrutura lógica do banco de dados (instruções CREATE DATABASE, CREATE TABLE) e conteúdo (instruções INSERT ou arquivos de texto delimitados). Esse tipo de backup é adequado para quantidades menores de dados em que você pode editar os valores de dados ou a estrutura da tabela ou recriar os dados em uma arquitetura de máquina diferente. Se você costuma usar um backup de banco de dados enorme, verifique se a compactação está ativada. Advertência, pois isso pode ocupar muito espaço em disco, especialmente.
No MariaDB, uma ferramenta comum a ser usada é o mysqldump, mas deve mudar no futuro com o mariadb-dump iniciando o MariaDB 10.4.6 ou 10.5.2 em diante. Alternativamente, uma ferramenta comum a ser usada para DBAs MySQL/MariaDB é mydumper se você quiser um backup paralelo para sua cópia de backup lógica. Embora existam alguns problemas em algumas versões ou pode haver problemas especialmente para as versões mais recentes do MariaDB. Se você quiser usar isso, preste atenção aos seus logs de backup ao criar uma cópia.
Backup Físico
O backup físico contém os dados binários do banco de dados que consistem em cópias brutas dos diretórios e arquivos que armazenam o conteúdo do banco de dados. Essa é uma ação apropriada a ser executada especialmente para um banco de dados grande e é mais rápido recuperar uma cópia completa do banco de dados em comparação com uma cópia de backup lógica. Por outro lado, fazer um backup físico completo leva tempo, especialmente se você tiver um conjunto de dados muito grande. Também depende de quais parâmetros você ativou ou definiu que podem afetar seu ETA de backup.
Uma ferramenta comum para usar no MariaDB é usar o mariabackup. Mariabackup é uma ferramenta de código aberto fornecida pelo MariaDB. É um fork do Percona XtraBackup projetado para trabalhar com tabelas criptografadas e compactadas e é o método de backup recomendado para bancos de dados MariaDB.
Recuperação pontual (PITR)
A recuperação pontual refere-se à recuperação de alterações de dados até um determinado momento. Este dado momento é o objetivo de recuperação desejado que foi determinado e que deve ser colocado de volta no lugar, que é aplicado durante a recuperação. PITR é uma recuperação point-forward e isso significa que você pode restaurar os dados da hora de início desejada para a hora de término desejada, para o oposto leia Usando o MariaDB Flashback em um servidor MySQL. O PITR também é considerado um método adicional de proteção de dados, pois protege a perda de informações importantes.
Em situações comuns, seu backup PITR aplicável ao seu tipo de recuperação é executado após a restauração de um backup completo que traz o servidor ao seu estado no momento em que o backup foi feito. A recuperação pontual atualiza o servidor de forma incremental desde o momento do backup completo até um momento mais recente. Ele também acelera a criação de uma réplica dentro de um cluster de replicação ao alcançar seu banco de dados MariaDB primário ou de gravador ativo.
Então, quais são esses backups? No MariaDB, os backups comuns aplicáveis ao seu PITR são seus logs binários. O log binário deve ser configurado corretamente em seu banco de dados MariaDB e deve ser ativado. Se você estiver usando o ClusterControl, isso pode não ser difícil para você configurar, pois ele é configurado automaticamente e é ativado especialmente ao configurar um cluster de replicação.
Ao aplicar o PITR, a ferramenta mais comum a ser usada é mysqlbinlog ou mariadb-binlog para MariaDB 10.5.2 em diante.
Melhor abordagem para fazer backup do banco de dados Moodle MariaDB
Ao executar seu banco de dados Moodle MariaDB, sempre faça seu backup fora do horário de pico ou quando o tráfego estiver muito baixo. Antes de fazer isso, verifique se você testou o backup e se ele foi concluído com êxito. Depois de concluída, teste uma restauração se o backup é útil ou não e se atende às suas necessidades quando a recuperação de dados é necessária ou quando você precisa do backup para criar outro conjunto de clusters (QA, dev ou estender para outro data center). Basicamente, as subseções a seguir devem ser a abordagem e a configuração com a qual você precisa lidar.
Configure uma réplica e faça o backup da réplica
Se você não estiver familiarizado com replicação, leia nosso white paper MySQL Replication for High Availability. Basicamente, não poupe seu gravador ativo ou nó de banco de dados primário para executar ou executar um backup. Fazer um backup deve ser testado e não deve ser executado em produção se ainda não tiver sido testado com um conjunto de comandos e sua política de backup que você criou. Uma vez bom, basta deixá-lo e apontá-lo em uma réplica. Você pode fazer um backup do seu banco de dados MariaDB primário/mestre se não tiver escolha ou pelo menos tiver certeza do que está fazendo.
Executar backup fora do horário de pico
Ao realizar um backup, certifique-se de que seja seu horário de pico. Sua réplica deve ter o máximo de atraso possível para que os dados mais atualizados sejam ocultados.
Criar uma política de backup
A política de backup consiste em seus parâmetros e agendamento para que seu backup seja ativado. backup deve estar lá quando necessário em tempos de desastre e recuperação de dados é necessária. Você também poderá determinar seu objetivo de tempo de recuperação para poder determinar com que frequência e quando seu agendamento de backup deve ser executado.
Como criar backup de seu banco de dados Moodle MariaDB
Usando mariadb-dump/mysqldump
O comando abaixo deve criar seu backup de banco de dados para o Moodle. Neste exemplo, o nome do banco de dados é moodle. Incluímos gatilhos, procedimentos armazenados ou rotinas e eventos. Imprima o GTID e as informações do mestre que são úteis quando você deseja provisionar uma réplica do nó do banco de dados primário ou mestre.
$ /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle
Você pode simplesmente substituir mariadb-dump por mysqldump se estiver usando o MariaDB versão <10.5.2. Se precisar compactar, você pode executar o comando abaixo:
$ /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz
Usando mariabackup
O mariabackup pode ser feito de forma simples. Para isso, usaremos mbstream como o formato de streaming e arquivamento desejado. Você pode usar o comando abaixo:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream
Se você pretende comprimi-lo, você pode fazer o seguinte comando:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz
Usando ClusterControl
Se você mudar para uma solução gerenciada especialmente para fazer backup do seu Moodle, o ClusterControl o torna simples, mas oferece recursos avançados para fazer backup. Dê uma olhada na captura de tela abaixo:
Fazer um backup é muito simples e fácil de criar. Tudo o que você precisa fazer é ir para Na captura de tela acima, tenho mysqldump, mysqldump com PITR compatível e mariabackup. Você pode selecionar qual host fazer o backup. Como mencionado anteriormente, certifique-se de estar fazendo o backup na réplica ou no escravo. Isso significa, certifique-se de que o escravo está selecionado. Veja a captura de tela abaixo: Ao selecionar ou escolher mysqldump, o ClusterControl permite que o usuário escolha o tipo de dados a serem despejados. Isso também inclui um dump compatível com PITR para backup. Veja a captura de tela abaixo: Para seu backup binário ou físico, além do mysqldump como seu backup lógico, você pode escolher mariabackup completo ou incremental. Ver abaixo: Os locais de armazenamento só permitem que o usuário escolha permanecer no nó ou transmita-o para o host ClusterControl. Se você tiver um servidor externo que não esteja registrado no ClusterControl, poderá usar o NFS para montar o volume do qual deseja que seu backup seja despejado. Embora isso possa não ser o ideal, mas para alguns casos, isso deve satisfazer especialmente se a largura de banda da rede ou a transferência da rede for rápida o suficiente para transmitir os dados localmente para o outro nó via rede. Essencialmente, você pode escolher os backups a serem carregados na nuvem. Você pode ver a captura de tela anteriormente e apenas marcar a caixa de seleção para habilitá-la, como abaixo: Como mencionado anteriormente, o ClusterControl faz o backup de forma simples de usar, mas fornece recursos avançados, aqui estão as opções que você pode definir. Para mysqldump, Para mariabackup, muito fácil de usar. O ClusterControl também oferece verificação de backup e restauração de backup para que seja fácil determinar se o backup é útil ou não. Isso ajuda que o backup do banco de dados do Moodle seja útil, especialmente quando a recuperação de dados deve ser aplicada para emergência e recuperação. Pode ser fácil fazer backup do seu banco de dados Moodle MariaDB, mas quando os dados aumentam e o tráfego aumenta, pode ser um grande desafio. Você só precisa seguir as práticas recomendadas, garantir que seus dados estejam protegidos, garantir que seu backup seja verificado e que seja útil quando a recuperação de dados tiver que ser aplicada.
Conclusão