Problemas no Banco de Dados do Fórum - Dezembro 2012

Iniciado por FaBMak, 09 de Dezembro de 2012, 11:30

tópico anterior - próximo tópico

FaBMak

Amigos do Fórum,

Como alguns puderam notar, tivemos um problema no banco de dados do fórum, durante um manutenção de rotina. O problema foi grave e corremos o risco de perder TODOS os dados do fórum, devido a uma sucessão de problemas.

Antes da manutenção, o fórum estava funcionando normalmente, mas haviam alguns pacotes de updates a serem instalados. Entre os pacotes, havia um do servidor MySQL. Como o primeiro procedimento, realizei um backup completo do BD, utilizando o mysqldump, antes de começar a atualização.

Fiz a atualização dos pacotes e o serviço do MySQL foi reiniciado automaticamente. Ao acessar o fórum, notei uma mensagem informando um problema em uma das tabelas. Ao entrar no MySQL notei que estavam faltando várias tabelas, exatamente todas que usavam a engine MyISAM. Olhando a mensagem no log do MySQL, vi várias mensagens como essa:

121208 12:01:58 [ERROR] Cannot find or open table forum/smf_topics from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.

Entrando no diretório onde ficam os arquivos do BD (/var/lib/mysql/forum), notei que as tabelas que estavam faltando não tinham os arquivos .frm, somente os .MYD e .MYI.

Tentei recuperar o dump do fórum executado antes do update, mas ele também não copiou as tabelas que faltavam, ficando do mesmo jeito. O mais incrível é que temos uma política de backups diários, que são rotacionados, e os backups de UMA SEMANA estavam com o mesmo problema, faltando tabelas. Ou seja, era um problema que existia há mais de uma semana e não notamos.

Passei várias horas procurando no Google, uma solução para o problema, mas ainda encontrei. Vi que é possível recuperar o .MYI a partir do .frm, mas não encontrei o processo inverso.

Fora os backups do MySQL, temos também um serviço de backup completo do sistema. Tínhamos dois backups que poderiam ajudar, um de uma semana atrás e um de duas semanas atrás. Tentamos recuperar ambos, sem sucesso, pois as tabelas ainda faltavam.

Por pura sorte, tinha em meu notebook pessoal, um backup completo e funcional, de seis meses atrás. Restaurei esse backup em outro banco de dados e copiei os arquivos que faltavam, para o servidor. Contudo, ainda faltavam duas tabelas completas, que a sorte ajudando novamente, não eram tabelas essenciais e que foram recuperadas de uma instalação zerada do sistema SMF.

Enfim, o fórum subiu e voltou.

Peço desculpas a todos, pelo problema e pela demora na solução, vamos reavaliar nossa política de backups, afim de evitar que situações como essa ocorram novamente.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

FaBMak

Durante a madrugada de hoje p/ amanhã (0:00hs), vou precisar desligar o servidor, provavelmente por 30 minutos, para aumentar o tamanho do disco, afim de acomodar o novo sistema de backup.
"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

agente100gelo

Advogado e analista de sistema cearense.
Twitter: @glaydson

Denis Ferraz

Boa Noite a Todos!

Caro FaBMak;

Citação de: FaBMak online 09 de Dezembro de 2012, 19:58
Durante a madrugada de hoje p/ amanhã (0:00hs), vou precisar desligar o servidor, provavelmente por 30 minutos, para aumentar o tamanho do disco, afim de acomodar o novo sistema de backup.

Que Deus Te Ajude!

Obrigado...
São Mateus 6,31.33-34

FaBMak

"Não creias impossível o que apenas improvável parece". (Shakespeare)
fabmak://website

bmota

mano,como sou meio paranóico nesse assunto,quando vi o fórum fora do ar,pensei que tinha sido vítima de ataque,mas não foi.boa sorte mano, voce faz um ótimo trabalho. ;D
01- pentium 4 1.8 Ghz 512 MB RAM 40 GB HD- LMDE// 02-notebook Samsung RV415 amd e300 1.3ghz 6gb RAM 320GB HD - Windows 8.1/ Linux Mint 17.2 cinnamon // skype: brandosilva
eu voltei.....

eaxgrande

Parabéns, amigo Fabmak

Não sabia que vida de administrador era um negócio assim tão "cabuloso"

Obrigado!

Grande abraço!
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Creto

hehhe Pensei em avisar pelo Gtalk do G+ mas não fiz por lá ser diversão né mesmo kkkk mas não aguentei e compartilhei uma postagem, afinal aqui é ainda minha escola ;) .

Parabéns FaBMak

Arthur Bernardes

Parabéns  FabMak, você fez um ótimo trabalho...!

adiaswin

ubuntu 12.04

Sergio Benjamim

Parabéns pelo trabalho, se algo acontecesse com o fórum perderíamos muitas informações.

Fiquei curioso, onde fica o servidor do fórum?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

EwertonNascimento

O erro só começou a "aparecer" após a atualização do mysql?

Será que fazendo o recovery do Bd em um versão do msyql sem estas atualizações, as tabelas que estão com erro poderão estar ok?

Bom trabalho fabmark.


asghan

   Ubuntu 12.04 - Unity 64bits

Ubuntu


alisson_sdj

assim como nossos amigos venho desejar felicidade no seu trabalho e dizer Parabens. obrigado por administrar essa escola
"A melhor maneira de prever o futuro é inventá-lo." Alan Kay