Como Lidar com Erros de Banco de Dados no MySQL

Como Lidar com Erros de Banco de Dados no MySQL
Muitas plataformas de conteúdo usam MySQL em sua gestão: neste tutorial, você vai aprender como consertar erros em bancos de dado do tipo, bem como aprimorar a sua segurança
Anúncio
Como Lidar com Erros de Banco de Dados no MySQL

Os bancos de dados MySQL são usados por muitos sistemas de gerenciamento de conteúdo (CMS) para oferecer suporte a sites. Dada a possibilidade deles serem acessados diretamente através da interface da web, eles também podem ser mais vulneráveis que outros sistemas. É por isso que a proteção do MySQL requer não apenas um pouco, mas bastante atenção. O que você deve fazer se perceber que o serviço do CMS não funciona corretamente devido à inacessibilidade do banco de dados Isso afetou seu site, causou problemas em sua loja online e muito mais.

Se o problema realmente estiver no banco de dados, você precisará procurar opções de recuperação mais abrangentes. Vale o aviso: trabalhar com bancos de dados nunca foi uma solução simples e isso pode exigir um conhecimento profundo dos bancos de dados e da linguagem SQL como um todo. O tutorial de hoje busca mostrar exatamente isso.

Erros em bancos de dados MySQL podem comprometer o funcionamento de várias plataformas: saiba como cuidar deles
Erros em bancos de dados MySQL podem comprometer o funcionamento de várias plataformas: saiba como cuidar deles

No entanto, existe uma profissão que cuida desse problema – a de administrador de banco de dados -, o que significa que existem pessoas especialmente treinadas para garantir que o bancos não sejam “danificados”. Você já deve ter ouvido falar sobre os administradores do Word, Excel e similares. Bem, ao trabalhar com bancos de dados, eles são necessários. Então, o que fazer se essas pessoas não estiverem na sua empresa e mas a necessidade de tê-las se fizer imediata?

Os desenvolvedores de aplicativos que usam bancos de dados do MySQL tentaram fornecer algumas opções de recuperação. Existem muitos artigos sobre administração e recuperação de bancos, mas a maioria pode ser bem complicada. Portanto, se, no final, você não conseguiu descobrir, ou se esses métodos foram inúteis, tente a ferramenta universal exclusiva — Recovery Toolbox for MySQL — que é simples e eficiente na recuperação de bancos de dados do MySQL das versões “InnoDB” e “MyISAM”.

Obviamente, tudo isso faz sentido somente se não houver um backup mais atualizado para o banco de dados. Pode ser um dump de banco de dados, uma “cópia a frio” de um arquivo, uma imagem de disco ou outra coisa. Se houver um backup, não continue lendo, pois aqui, essa opção não é considerada.

Recuperação Interna do MySQL

Então, o que você deve fazer se o banco de dados MySQL parar de executar:

  1. Abra o arquivo “my.cnf” e defina o seguinte parâmetro: “innodb_force_recovery = 1”
  2. Reinicie o MySQL com o seguinte comando: “/etc/init.d/mysql restart”
  3. Crie um dump do banco de dados e o empacote: “mysqldump db | gzip> db.sql.gz”
  4. Crie um novo banco de dados: mysql -e create database “new_DB”;
  5. Importe os dados para: “zcat database.sql.gz | mysql new_DB”.

Reiniciar o MySQL dessa forma não inicia todos os processos associados e, em alguns casos, permite abrir um banco de dados antigo. Usando esses comandos, tentamos despejar o banco de dados antigos, importando-o para um novo, que você abre da maneira normal. Se isso acontecer, você pode excluir o banco de dados antigo. A propósito, se o método não ajudar, e o banco de dados antigo não for iniciado, você deverá tentar outros valores do parâmetro “innodb_force_recovery”, até “6”.

MySQL
Imagem: Reprodução

Durante a inicialização normal do banco de dados, o sistema tenta iniciar todos os processos, incluindo aqueles que foram, por exemplo, finalizados de forma anormal devido a problemas com eletricidade. Graças à opção “innodb_force_recovery”, você pode desativar alguns parâmetros que interferem no lançamento regular do banco de dados. Os números significam o seguinte:

  • A inicialização do MySQL não para, mesmo que o sistema detecte páginas corrompidas durante o processo.
  • Cancelar o lançamento de operações em segundo plano
  • Cancelar tentativas de reverter transações
  • Recusa em calcular estatísticas e o uso de alterações salvas
  • Não leva em consideração os registros de reversão na inicialização
  • Não leva em consideração os parâmetros “ib_logfiles” durante a inicialização

Maneiras Alternativas de Recuperação de Banco de Dados

O método descrito acima é bastante útil, embora, infelizmente, possa ser difícil para alguns usuários. Porém, trabalhar com qualquer formato de banco de dados é sempre complicado. Se você não deseja editar configurações, abra a linha de comando e aprenda a sintaxe dos comandos necessários. Então, você precisará de uma ferramenta relativamente simples e fácil de usar. Recentemente, tenho usado bastante o Recovery Toolbox for MySQL.

Imagem: Captura/Recovery Toolbox for MySQL
Imagem: Captura/Recovery Toolbox for MySQL

Talvez esta seja a maneira mais fácil e eficaz de recuperar o banco de dados MySQL, exatamente o que a maioria dos usuários iniciantes precisa. Existem algumas opções:

  1. Lide com tudo sozinho, passando vários dias fazendo isso
  2. Restaure o banco de dados dentro de uma hora
  3. Continue trabalhando e evite perdas.

Usar o Recovery Toolbox for MySQL é muito simples; você nem precisa ler as instruções – ao contrário das descrições detalhadas de como editar configurações e similares – todas as ações são executadas intuitivamente. O programa trabalha apenas com uma cópia do banco de dados, portanto nunca atrapalha o que resta do banco de dados antigo. Você sentirá a diferença de se aprofundar nas configurações do servidor de “produção”, sem medo de fazer algo errado e levar à destruição o que resta.

Como Recuperar um Banco de Dados Usando o Recovery Toolbox for MySQL

Para restaurar um banco de dados MySQL danificado usando este programa, você precisa fazer o seguinte:

  1. Faça o download do Recovery Toolbox for MySQL na página
  2. Instale e execute o programa
  3. Selecione a pasta que armazena os arquivos do banco de dados MySQL danificados
  4. Selecione um banco de dados danificado na lista
  5. Execute a análise do banco de dados selecionado
  6. Visualize os resultados da recuperação: tabelas, objetos, índices
  7. Configure um método para salvar os dados recuperados
  8. Salve os dados (disponível apenas na versão completa do software)
Imagem: Captura/Recovery Toolbox for MySQL
Imagem: Captura/Recovery Toolbox for MySQL

O programa é baixado totalmente gratuitamente e instalado sem registro. Usando o Recovery Toolbox for MySQL, você pode visualizar os dados recuperados gratuitamente e avaliar o trabalho realizado.

Você pode até espionar algumas alterações e facilmente fazê-las você mesmo com suas mãos em um backup “estragado”, mas que ainda funcione; se você fizer alguma edição, leve em consideração as alterações mais recentes. É necessário pagar apenas se for preciso salvar os dados recuperados, recriar o banco de dados MySQL e conectá-lo ao sistema.

Imagem: Captura/Recovery Toolbox for MySQL
Imagem: Captura/Recovery Toolbox for MySQL

Segurança ao Trabalhar com o Recovery Toolbox for MySQL

O programa pode ser instalado em qualquer computador com Windows. Você pode fazer a instalação em alguns minutos e, depois disso, você pode iniciar a recuperação, que, a propósito, pode demorar bastante tempo, dependendo do tamanho do banco de dados original. Você pode controlar a ausência de conexões suspeitas de várias maneiras, sendo a mais simples delas a desconexão física do cabo de rede. E o mais importante, isso não afeta a eficácia do trabalho de forma alguma, porque o Recovery Toolbox for MySQL não usa conexões de terceiros.

Existe um método um pouco mais complicado: instalar uma ferramenta de análise de tráfego de rede — uma boa recomendação é o WireShark — e verificar se pacotes suspeitos do Recovery Toolbox for MySQL estão chegando. Naturalmente, esse método envolve um entusiasmo em particular, já que os manuais do WireShark são bastante grandes e, o mais importante, a disponibilidade de tempo livre. Portanto, o uso do Recovery Toolbox for MySQL é mais recomendado para economizar tempo e recuperar o banco de dados no sistema o mais rápido possível.

O mais importante é que o programa sempre funciona apenas com uma cópia do banco de dados original; portanto, esse método de recuperação é muito mais confiável do que fazer alterações nas configurações do banco de dados e aguardar para ver o que acontece. Lembre-se, uma tentativa de reparar um banco de dados em um servidor de produção pode acabar com ele; isso ocorre mesmo com administradores experientes.

Receba notícias como essa no seu email. Inscreva-se aqui:

Adicionar Comentário

Clique aqui para postar um comentário

Assine nossa Newsletter