Esta pergunta é um pouco antiga, mas decidi respondê-la de qualquer maneira, pois tenho pesquisado sobre o mesmo. Minha resposta é baseada no sistema de arquivos linux. Basicamente mySQL armazena dados em arquivos em seu disco rígido. Ele armazena os arquivos em um diretório específico que possui a variável de sistema "datadir". Abrindo um
mysql
console e executar o comando a seguir informará exatamente onde a pasta está localizada. mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)
Como você pode ver no comando acima, meu "datadir" estava localizado em
/var/lib/mysql/
. A localização do "datadir" pode variar em diferentes sistemas. O diretório contém pastas e alguns arquivos de configuração. Cada pasta representa um banco de dados mysql e contém arquivos com dados para esse banco de dados específico. abaixo está uma captura de tela do diretório "datadir" no meu sistema. Cada pasta no diretório representa um banco de dados MySQL. Cada pasta de banco de dados contém arquivos que representam as tabelas desse banco de dados. Existem dois arquivos para cada tabela, um com um
.frm
extensão e outro com um .idb
extensão. Veja a captura de tela abaixo. O
.frm
table arquivo armazena o formato da tabela. Detalhes:Formato de arquivo MySQL .frm
O
.ibd
arquivo armazena os dados da tabela. Detalhes:InnoDB File-Per-Table Tablespaces É isso pessoal! Espero ter ajudado alguém.