MyISAM
Para uma tabela MyISAM mydb.mytable, você deve ter três arquivos
\bin\mysql\mysql5.6.12\data\mydb\mytable.frm
\bin\mysql\mysql5.6.12\data\mydb\mytable.MYD
\bin\mysql\mysql5.6.12\data\mydb\mytable.MYI
Eles já devem estar acessíveis como uma tabela, pois cada arquivo contém dados, metadados e informações de índice necessários. Coletivamente, eles formam a mesa. Não há mecanismos de mecanismo de armazenamento externo para acessar.
InnoDB
Dê uma olhada nesta Representação pictórica do InnoDB

A única coisa que anexa ibdata1 aos .ibdarquivos é o dicionário de dados.
Sua missão, caso você decida aceitá-la, é criar cada tabela e trocar as .ibd
Antes de fazer qualquer coisa, faça uma cópia completa de "\ bin \ mysql \ mysql5.6.12 \ data" para outra
Aqui está uma amostra
Suponha que você tenha um banco de dados mydbcom a tabela mytable. Isso significa
- Você tem a pasta
\bin\mysql\mysql5.6.12\data\mydb
- Dentro dessa pasta, você tem
Você precisa do .frm. Se você olhar para o meu post Como extrair o esquema da tabela apenas do arquivo .frm? , você pode baixar um utilitário MySQL que pode gerar o SQL necessário para criar a tabela.
Agora você deve fazer o seguinte
- Mover
mytable.ibdpara\bin\mysql\mysql5.6.12\data
- Execute o SQL para criar a tabela InnoDB
- Entre no mysql e execute
ALTER TABLE mydb.mytable DISCARD TABLESPACE;(Isso será excluído \bin\mysql\mysql5.6.12\data\mydb\mytable.ibd)
- Copiar
\bin\mysql\mysql5.6.12\data\mytable.ibdpara\bin\mysql\mysql5.6.12\data\mydb
- Entre no mysql e execute
ALTER TABLE mydb.mytable IMPORT TABLESPACE;(Isso será registrado \bin\mysql\mysql5.6.12\data\mydb\mytable.ibdno dicionário de dados)
Depois disso, a tabela mydb.mytabledeve estar totalmente acessível. Você pode testar essa acessibilidade simplesmente executando:
SELECT * FROM mydb.mytable LIMIT 10;
De uma chance !!!
BEBIDA (Recuperação de Dados Incorpora o Conhecimento Necessário)