O MySQL se recusa a iniciar e eu só consegui iniciar em modo somente leitura usando innodb_force_recovery = 6
. Todas as respostas que encontrei sobre esse tópico sugerem fazer um backup, deletar ibdata e ib_logfiles e então deixá-los serem recriados:
- https://serverfault.com/questions/592793/mysql-crashed-and-wont-start-up
- innodb_force_recovery quando corrupção do InnoDB
- https://stackoverflow.com/questions/41997197/mysql-data-recovery-with-innodb
No meu caso, como innodb-file-per-table está habilitado, estou pensando se também preciso excluir arquivos como /var/lib/mysql/MY_DATABASE/table.ibd?
este. Além disso, como o registro de refazer está desabilitado, não há nenhum arquivo de log para remover.
O erro específico que recebi foi este:
[InnoDB] O servidor foi encerrado quando o redo logging do InnoDB foi desabilitado. Os arquivos de dados podem estar corrompidos. Você pode tentar reiniciar o banco de dados com innodb_force_recovery=6
Neste ponto, consegui iniciar no modo somente leitura e fiz um backup de todas as tabelas que preciso. O que especificamente devo excluir? Ou há uma abordagem melhor para reconstruir completamente essas tabelas?
Estou pensando em simplesmente desinstalar o MySQL completamente e limpar o diretório inteiro, mas estou esperando feedback aqui se houver uma abordagem mais simples.