Sem o erro que causou o travamento, a versão do MySQL e seu my.cnf, é difícil determinar qual é exatamente o problema ... Dito isto, aqui estão alguns conselhos genéricos ....
Você pode encontrar a tabela que possui a página corrompida de várias maneiras. A maneira mais fácil de desligar o servidor e executar innochecksum em todas as tabelas seu banco de dados. Se encontrar algum problema, você pode iniciar o banco de dados no modo de recuperação definindo innodb_force_recovery e tentar executar um SELECT INTO OUTFILE da tabela para descarregar o conteúdo, então LOAD DATA FROM INFILE para carregá-lo em uma nova tabela. Inicie innodb_force_recovery em 1 e, se ocorrer uma falha ao despejar a (s) tabela (s), continue a incrementar o valor innodb_force_recovery até que você possa despejar os dados sem que ele falhe. Certifique-se de que nenhum cliente esteja se conectando enquanto você faz isso.
Percona também tem o Percona Data Recovery Tool para InnoDB que podem minimizar o tempo de inatividade, mas eles exigem algum conhecimento para usar e tem potencial para atrapalhar as coisas ainda mais. Além disso, na realidade, você pode executar o innochecksum em um banco de dados ativo, mas é provável que você obtenha falsos positivos para páginas corrompidas. Nesse caso, você pode, em seguida, desligar o servidor e apenas incluir as tabelas que retornaram erros de página enquanto estava ativo. Em um servidor ativo, um innochecksum bem-sucedido significará que a tabela está bem, enquanto um innochecksum falho pode não ser preciso.
Quando você se posicionar, recomendo criar um escravo deste banco de dados para que, se isso acontecer novamente, você possa facilmente começar a usar o escravo e não se preocupar com procedimentos complexos de recuperação.