[ERROR] Fatal error: Can't open and lock privilege tables: Table 'host' is marked as crashed and last (automatic?) repair failed

MySQL 4.1.22 não arrancava… a tabela host, db, user estava marcada como danificada.

– Instalar uma versão nova

– na instalação atual renomear os ficheiros das tabelas (ex. host.frm, host.MYD, host.MYI p/ host_.frm, host_.MYD, host_.MYI)

– copiar os ficheiros das tabelas da versão nova para o local da danificada

– iniciar o servidor MySQL

– aceder ao MySQL administrator e reparar as tabelas renomeadas

– desligar o servidor MySQL

– remover as tabelas copiadas

– renomear as tabelas originais para o nome original (ex. host_.frm, host_.MYD, host_.MYI p/ host.frm, host.MYD, host.MYI)

– iniciar o servidor MySQL

– reparar todas as base de dados/tabelas

mysqlcheck -u root -p -o -c --auto-repair --all-databases

 

Eventualmente pode também ser necessário alterar as definições do MySQL (my.ini) para incluir a opção innodb_force_recovery = 1. Mais info aqui: http://dev.mysql.com/doc/refman/4.1/en/forcing-innodb-recovery.html