Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como o MySQL armazena dados


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.