Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Práticas recomendadas de backup para MySQL, MariaDB e Galera Cluster


Muito obrigado a todos que se inscreveram e/ou participaram do webinar de terça-feira sobre estratégias de backup e práticas recomendadas para clusters MySQL, MariaDB e Galera, liderados por Krzysztof Książek, engenheiro de suporte sênior da Multiplenines. Se você perdeu a sessão, gostaria de assisti-la novamente ou navegar pelos slides, eles agora estão online para visualização. Confira também a transcrição da sessão de perguntas e respostas abaixo.

Assista à reprise do webinar

Seja você um profissional SysAdmin, DBA ou DevOps operando clusters MySQL, MariaDB ou Galera em produção, certifique-se de que seus backups sejam agendados, executados e testados regularmente. Krzysztof compartilhou algumas de suas principais dicas e truques de práticas recomendadas ontem sobre como fazer exatamente isso; incluindo uma demonstração ao vivo com ClusterControl. Resumindo, esta repetição do webinar mostra os prós e contras de diferentes opções de backup e ajuda você a escolher a que melhor se adapta ao seu ambiente.

Feliz backup!

Perguntas e respostas


P. Podemos controlar a E/S enquanto fazemos os backups com mysqldump e mysqldumper (eu usei o bom antes, mas não foi útil).

R. Teoricamente, pode ser possível, embora não tenhamos realmente testado isso. Se você realmente deseja aplicar alguma limitação, talvez queira examinar cgroups - isso deve ajudá-lo a limitar a atividade de E/S por processo.

P. Podemos usar o mydumper com o ClusterControl e o ClusterControl é um software livre?

R. No momento, não oferecemos suporte, mas você sempre pode usá-lo manualmente; O ClusterControl não impede você de usar essa ferramenta. Existe uma versão gratuita da comunidade do ClusterControl, sim, embora seus recursos de backup façam parte da versão comercial. Com a versão gratuita da comunidade, você pode implantar e monitorar seu banco de dados (clusters), bem como desenvolver seus próprios consultores de banco de dados personalizados. Você também tem um período de teste de um mês que lhe dá acesso a todos os recursos do ClusterControl. Você pode encontrar todos os detalhes do recurso aqui:https://severalnines.com/pricing

P. O xtrabackup pode funcionar com criptografia de dados em repouso?

R. Ele pode trabalhar com dados criptografados no MySQL ou Percona Server - é porque eles criptografam apenas tablespaces, que o xtrabackup apenas copia - ele não precisa acessar o conteúdo dos tablespaces. O MariaDB criptografa não apenas tablespaces, mas também, por exemplo, logs de redo do InnoDB, que precisam ser acessados ​​pelo xtrabackup - portanto, o xtrabackup não pode funcionar com criptografia de dados em repouso conforme implementado no MariaDB. Por causa disso, a MariaDB Corporation bifurcou o xtrabackup no MariaDB Backup. Esta ferramenta suporta criptografia feita pelo MariaDB.

P. Você pode usar o mydumper para recuperação pontual?

R. Sim, é possível. mydumper pode armazenar dados GTID para que você possa identificar a última transação aplicada e usá-la como uma posição inicial para processar logs binários.

P. É um problema se usarmos logs binários com xtrabackup com start-datetime e end-datetime em vez de start-position e end-position? Fazemos um backup completo às sextas-feiras e em dias alternados um backup incremental. Quando precisamos recuperar fazemos os últimos backups completos e todos os incrementais e os logs binários deste dia começando das 00:00 até AGORA... poderia haver algum problema com o apply-log?

R. Em geral, você não deve usar --start-datetime ou --end-datetime quando quiser responder o log binário no banco de dados. Não é granular o suficiente - tem uma resolução de um segundo e pode haver muitas transações que aconteceram durante esse segundo. Você pode usá-lo para minimizar o prazo para procurar manualmente, mas isso é tudo. Se você quiser reproduzir logs binários, você deve usar --start-position e --end-position. Somente isso definirá com precisão de qual evento você reproduzirá binlogs e em qual evento ele terminará.

P. Devo executar o software de despejo no balanceador de carga ou em um dos nós MySQL?

R. Normalmente, você o usará em nós MySQL. Algumas das ferramentas só podem fazer exatamente isso. Por exemplo, Xtrabackup - você precisa executá-lo localmente, no host do banco de dados. Você pode transmitir a saída para outro local, mas ela precisa ser iniciada localmente.

P. Podemos fazer backups parciais com o ClusterControl? E se sim, como podemos restaurar um backup em uma instância em execução?

R. Sim, você pode fazer um backup parcial usando ClusterControl (você pode fazer backup de esquema separado usando xtrabackup), mas, a partir de agora, você não pode restaurar um backup parcial em uma instância em execução. Isso é causado pelo fato de que o esquema que você recuperaria não será consistente com o resto do cluster. Para torná-lo consistente, o cluster deve ser inicializado a partir do nó no qual você restaura um backup. Então, tecnicamente, o nó é executado o tempo todo, mas é uma operação bastante pesada e invasiva. Isso mudará na próxima versão do ClusterControl, na qual você poderá restaurar backups em um host separado. A partir desse host, você pode despejar o conteúdo de um esquema restaurado usando mysqldump (ou mydumper) e restaurá-lo em um cluster de produção.

P. Você pode compartilhar o comando mysqldumper?

R. É bastante difícil responder a esta pergunta sem copiar e colar da documentação, então achamos que seria melhor se apontássemos para a documentação:https://github.com/maxbube/mydumper/tree/ mestre/documentos

Assista à reprise do webinar
Whitepaper relacionado O Guia de DevOps para backups de banco de dados para MySQL e MariaDBEste whitepaper discute os dois utilitários de backup mais populares disponíveis para MySQL e MariaDB, ou seja, mysqldump e Percona XtraBackup.Download