-
1. Backup Lógico: mysqldump
-
2. Mydumper
-
3. mysqlbackup
-
4. Backup Físico: Percona XtraBackup
-
5. phpMyAdmin
-
6. MySQL Workbench
-
7. Vinchin Backup & Recovery
-
Ferramentas de Backup do MySQL - Perguntas Frequentes
-
Conclusão
Para alcançar a gestão de bancos de dados MySQL, diversas ferramentas e técnicas de backup foram desenvolvidas, cada uma com suas vantagens e casos de uso específicos. Este artigo explora as principais características, mecanismos e considerações dessas populares ferramentas de backup e gestão do MySQL, ajudando você a tomar decisões informadas para suas operações de banco de dados.
1. Backup Lógico: mysqldump
No MySQL, o mysqldump é uma das ferramentas mais utilizadas para exportar bancos de dados como arquivos SQL portáveis. Ele oferece suporte ao backup de tabelas individuais, bancos de dados individuais ou múltiplos bancos de dados e fornece um conjunto rico de opções para atender às diferentes necessidades de backup. O mecanismo de backup se conecta ao banco de dados MySQL por meio de um protocolo, consulta os dados que devem ser copiados e converte esses dados em instruções "INSERT" correspondentes. Quando precisamos restaurar os dados, a execução dessas instruções "INSERT" restaurará os dados correspondentes.
O processo de backup do mysqldump é aproximadamente o seguinte:
Aplicar bloqueios de leitura a todas as tabelas em um banco de dados específico;
Loop through and back up table data;
Libere o bloqueio de leitura;
Repita os três passos acima;
Backup concluído.
No processo acima, fica claro que durante o backup do mysqldump, ao fazer o backup de um banco de dados específico, todas as tabelas desse banco de dados ficarão em modo somente leitura, impedindo quaisquer modificações até que o backup seja concluído. Isso geralmente não é aceitável para ambientes online. Se a opção “--master-data” ou “--dump-slave” for especificada, será aplicado no início do backup um bloqueio global de leitura (“FLUSH TABLES WITH READ LOCK”), que permanecerá em vigor até que o backup seja concluído. Uma alternativa é realizar o backup em um banco de dados replicado, evitando assim afetar as operações online.
Outra grande vantagem do uso do mysqldump é que, como ele gera instruções SQL, suporta migração ou restauração de dados entre plataformas e versões diferentes, o que não é possível com backups físicos. No entanto, como o mysqldump produz instruções SQL, é necessário ter cautela extra durante seu uso para evitar problemas graves. Problemas comuns ao usar o mysqldump incluem:
Migrar apenas parte dos dados para uma nova instância, mas excluindo acidentalmente os dados originais;
Devido a problemas de fuso horário, as tabelas restauradas e os dados relacionados ao tempo podem estar incorretos;
Após importar os dados de backup para o banco de dados principal, o banco de dados secundário não sincroniza;
Devido a problemas de conjunto de caracteres, os dados restaurados aparecem corrompidos.
Portanto, ao utilizar o mysqldump, é fundamental compreender a função de cada opção, verificar quais operações estão incluídas no arquivo SQL exportado e avaliar o impacto nos dados existentes.
2. Mydumper
O princípio do Mydumper é semelhante ao do mysqldump, mas sua principal diferença é a introdução do backup multi-thread, onde cada thread de backup processa uma parte das tabelas. A granularidade de concorrência pode chegar até o nível de linha, permitindo backups multi-thread.
Características principais do Mydumper:
Leve, escrito em C
A velocidade de execução é 10 vezes mais rápida do que o mysqldump
Instantâneos consistentes de tabelas transacionais e não transacionais (para versões 0.2.2 e superiores)
Compactação rápida de arquivos
Suporta exportação de binlogs
Restauração com várias threads (para versões 0.2.1 e superiores)
Funciona como um daemon para instantâneos agendados e logs binários contínuos (para versões 0.5.0 e superiores)
Código aberto (GNU GPLv3)
Como o Mydumper utiliza exportações multi-threaded, ele não pode garantir a mesma ordem de exportação do que o mysqldump, o que pode causar inconsistências nos dados para recursos dependentes do tempo, como rotinas e eventos. Recomenda-se exportar e importar o banco de dados do sistema MySQL separadamente dos outros bancos de dados.
As funções de extração e mesclagem do Mydumper dependem de delimitadores, portanto, os nomes dos bancos de dados não devem conter pontos (“.”) e os nomes das tabelas não devem conter hífens (“-”).
3. mysqlbackup
O mysqlbackup, abreviado como MEB, é uma ferramenta de backup desenvolvida pela Oracle para a versão empresarial do MySQL. Esta ferramenta oferece recursos sólidos de backup do MySQL, incluindo backups quentes, backups incrementais, backups seletivos de dados e restauração de dados.
Ao utilizar processamento paralelo, o mysqlbackup realiza backups paralelos em nível de bloco dos dados do banco de dados, melhorando a eficiência e velocidade do backup.
MEB suporta três tipos de backup do banco de dados MySQL: Completo, Diferencial e Incremental. Ele também oferece suporte ao armazenamento compactado desses backups. Após realizar um backup, são gerados três tipos de arquivos: ibdata, ibd e ibz. Entre eles:
“ibdata” contém os dados do tablespace do sistema InnoDB;
“Ibd” contém os arquivos de dados reais;
“Ibz” contém arquivos de dados compactados.
Além disso, o MEB gera arquivos como o “backup-mysql.cnf” (um backup da configuração do MySQL no momento do backup) e arquivos de backup incremental como o “ibbackup_ibd_files” e o “ibbackup_logfile”, que armazenam dados e logs incrementais. O MySQL também introduziu um mecanismo separado de backup de log de redo para melhorar a integridade dos dados.
4. Backup Físico: Percona XtraBackup
O Percona XtraBackup é uma ferramenta de backup quente para MySQL desenvolvida pela Percona, projetada para backups físicos com base no mecanismo de recuperação após falhas do InnoDB. Seu princípio básico de funcionamento é o seguinte:
1. Na inicialização, um processo de cópia do log de redação é criado para capturar e registrar o número de sequência do log atual (LSN) e copiar continuamente os logs de redação modificados a partir desse ponto.
2. Uma thread é iniciada para copiar o arquivo “ibdata1”, os tablespaces de undo e todos os arquivos “ibd”.
3. Uma vez concluída a cópia do arquivo “ibd”, ele aciona um “FLUSH TABLES WITH READ LOCK” (ou aplica um backup lock).
4. Em seguida, ele faz backup dos arquivos de dados não InnoDB (.frm, .MRG, .MYD, .MYI, etc.).
5. Ele também faz backup das informações relacionadas ao banco de dados de réplica e aos logs binários.
6. Finalmente, ele limpa os logs, copia os últimos redo logs, sai do thread de cópia de logs e libera os bloqueios globais enquanto registra os metadados do backup para concluir o processo.
Durante a restauração, o Percona XtraBackup aplica os logs de redo copiados, confirma as transações concluídas e reverte as transações não confirmadas para restaurar o banco de dados para um estado consistente.
Como o Percona XtraBackup produz arquivos físicos, ele evita muitos dos problemas associados aos backups lógicos, como o mysqldump, ao restaurar ou migrar bancos de dados. No entanto, diferentes parâmetros de backup podem impactar o banco de dados em diversos graus.
XtraBackup tem as vantagens de impacto mínimo no banco de dados e recuperação rápida, tornando-o a escolha preferida para backups rotineiros. Em contraste, o mysqldump é mais flexível, mas requer manipulação cuidadosa para evitar interromper os dados existentes.
5. phpMyAdmin
phpMyAdmin é uma ferramenta de gerenciamento de bancos de dados MySQL baseada em PHP, estruturada como uma aplicação web que roda em um servidor web. Ela permite que administradores gerenciem bancos de dados MySQL através de uma interface web, oferecendo uma maneira conveniente de inserir sintaxes SQL complexas, sendo particularmente útil para importar e exportar grandes quantidades de dados.
O phpMyAdmin oferece uma interface de banco de dados gráfica semelhante ao Microsoft Access e ao SQL Server, permitindo aos usuários executar várias operações do MySQL, como criar bancos de dados, tabelas e gerar arquivos de scripts de banco de dados MySQL.
Uma grande vantagem do phpMyAdmin é que, assim como outras aplicações PHP, ele é executado em um servidor web. No entanto, os usuários podem acessar as páginas HTML geradas de qualquer lugar, permitindo o gerenciamento remoto de bancos de dados MySQL. Isso facilita a criação, modificação e exclusão de bancos de dados e tabelas. Além disso, o phpMyAdmin pode gerar sintaxes PHP comumente utilizadas, garantindo a corretude das instruções SQL durante o desenvolvimento de aplicações web.
6. MySQL Workbench
MySQL Workbench é uma ferramenta gráfica oficial e gratuita para gerenciar bancos de dados MySQL, oferecendo uma interface amigável para projeto, desenvolvimento e administração de bancos de dados. Ela permite que os usuários criem e editem estruturas de banco de dados visualmente com diagramas ER, gerem scripts SQL e sincronizem alterações com o banco de dados. O editor SQL embutido suporta realce de sintaxe, preenchimento automático e execução de consultas com resultados visualizados. Além disso, oferece ferramentas para importação/exportação de dados, gerenciamento de permissões dos usuários, monitoramento de desempenho e migração de bancos de dados. Compatível com Windows, macOS e Linux, atende tanto iniciantes quanto desenvolvedores experientes, simplificando tarefas de banco de dados sem exigir conhecimento aprofundado de linha de comando.
7. Vinchin Backup & Recovery
Vinchin Backup & Recovery oferece uma solução mais automatizada, eficiente e segura, simplificando os processos de backup do MySQL com gerenciamento centralizado, recuperação rápida, backups incrementais e estratégias flexíveis de armazenamento, garantindo a disponibilidade dos dados por longo período. Além disso, ele também fornece estratégias flexíveis de backup para Oracle DB, SQL Server, PostgreSQL, Postgres Pro e MariaDB.
As suas funcionalidades de armazenamento optimizado, como a deduplicação e compressão de dados, reduzem significativamente os requisitos de armazenamento dos ficheiros de cópia de segurança e diminuem o tempo de realização das cópias. Ao mesmo tempo, as suas funções de encriptação e segurança na transmissão garantem a segurança dos dados de cópia de segurança, tornando-a adequada para empresas que precisam de proteger rigorosamente os dados.
Para criar tarefas de backup do MySQL, acesse a página Physical Backup > Database Backup > Backup:
1. Selecione os bancos de dados que precisam ser copiados.
2. Selecione um nó de backup no qual você deseja que os dados de backup sejam processados e armazenados.
3. Configure estratégias de backup de acordo com suas necessidades.
4. Revise e confirme as configurações.
Clique no botão abaixo para experimentar a versão gratuita de 60 dias do Vinchin e conhecer uma solução eficiente e confiável para backup e recuperação de dados!
Ferramentas de Backup do MySQL - Perguntas Frequentes
1. Qual é a diferença entre backups lógicos e físicos?
Backups lógicos armazenam dados como instruções SQL, enquanto backups físicos copiam os arquivos brutos do banco de dados.
2. O que é a recuperação pontual (PITR) no MySQL?
Permite restaurar um banco de dados para um momento específico usando logs binários (binlog).
Conclusão
A seleção da ferramenta adequada para backup do seu banco de dados MySQL é fundamental para garantir a segurança dos dados e a eficiência operacional. Compreender os pontos fortes e as limitações de cada ferramenta permite que você personalize sua estratégia de backup para atender necessidades específicas, assegurando uma proteção robusta dos dados e recuperação sem interrupções em qualquer cenário.
Compartilhar em: