A pergunta é bem antiga, mas não há uma única resposta positiva, então adicionarei uma.
Depois que o MySQL descarta uma tabela, os dados ainda estão na mídia por um tempo. Então você pode buscar registros e reconstruir uma tabela. Mais tarde, vou blogar sobre isso, mas por enquanto rápido esboço.
Você precisaria ter a estrutura da sua tabela (instrução CREATE TABLE).
Se innodb_file_per_table estiver ON, a tabela eliminada estará na partição do disco. Pare o MySQL e monte-o novamente como somente leitura o mais rápido possível. Se o MySQL estava em uma partição raiz (o que não é uma boa idéia), então pegue uma imagem ou retire o disco e conecte em outro servidor. Pare todas as gravações em outras palavras.
Se innodb_file_per_table OFF, simplesmente pare o MySQL.
Em seguida, baixe e compile a ferramenta un-drop para o InnoDB do link . Marque a seção " Compilando o kit de ferramentas de recuperação do TwinDB " para obter detalhes.
Em seguida, analise a partição de disco ou ibdata1 (dependendo da configuração innodb_file_per_table) com stream_parser:
./stream_parser -f /path/to/diskimage_or_ibdata1
Em seguida, recupere o dicionário InnoDB para saber em qual index_id a tabela descartada estava.
Em seguida, pegue a estrutura da tabela e busque os registros
./c_parser -f pages-diskimage_or_ibdata1/FIL_PAGE_INDEX/00000<index_id>.page
Ele irá gerar registros para stdout e o comando LOAD DATA para stderr.