.FRM

Arquivo FRM

MySQL Table Definition File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo FRM é um arquivo de definição de tabela MySQL. Ele armazena os nomes das colunas, tipos de dados e índices para uma tabela de banco de dados, mas não os dados reais das linhas. Para lê-lo, execute mysqlfrm --diagnostic no arquivo ou restaure o diretório de dados em um servidor MySQL ou MariaDB compatível. O MySQL 8.0 não cria mais arquivos .frm.

Desenvolvedor: MySQL AB / Oracle Corporation Categoria: Arquivos de Banco de Dados MIME: application/octet-stream
ABRE EM Windows macOS Linux
Relacionado: .DB · .DBF · .ACCDB · .SQL

Nesta página

19k+ extensões indexadas
Última revisão em Aug 15, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro FRM?

Um arquivo .frm é um arquivo de definição de tabela MySQL que armazena informações sobre a estrutura e o layout de uma única tabela de banco de dados. Um arquivo .frm é criado para cada tabela, e o nome da tabela é usado para o nome do arquivo .frm - assim, uma tabela chamada orders produz orders.frm dentro do diretório de dados do MySQL.

O formato .frm registra apenas o esquema da tabela: nomes de colunas, tipos de dados, comprimentos, valores padrão e metadados de índices/chaves. Ele nunca contém dados de linhas. Para tabelas MyISAM, os dados reais residem em um arquivo .MYD complementar (com índices em um arquivo .MYI); o MySQL exigia os três arquivos juntos para acessar totalmente uma tabela MyISAM. As tabelas InnoDB emparelhavam seu .frm com um arquivo de tablespace .IBD separado.

O arquivo é um blob binário proprietário em little-endian que começa com os magic bytes 0xFE 0x01. Foi introduzido com o MySQL 1.0 em 1995 e usado por todos os mecanismos de armazenamento - tanto MyISAM quanto InnoDB - até o MySQL 5.7 e MariaDB. O MySQL 8.0 (dezembro de 2018) removeu completamente os arquivos .frm, movendo os metadados da tabela para o dicionário de dados transacional do InnoDB. O MariaDB continuou usando arquivos .frm após essa divisão.

Quando os dados das linhas são perdidos ou corrompidos, um arquivo .frm sobrevivente pode ser inspecionado com o utilitário de diagnóstico mysqlfrm para reconstruir a instrução CREATE TABLE e recuperar o layout das colunas.

Segurança e proteção

RISCO: LOW

Um arquivo .frm é um metadado de tabela binário passivo - não contém código executável e é seguro de manusear. Os riscos práticos são de recuperação de dados, não de malware: um .frm restaurado na versão errada do MySQL pode falhar ou corromper o dicionário, e um .frm isolado sem seus arquivos .MYD/.ibd não pode retornar suas linhas. Sempre trabalhe em cópias, use a versão original do servidor e mantenha os arquivos de dados complementares juntos.

Detalhes do formato

em resumo
NOME COMPLETOMySQL Table Definition Filetambém conhecido como MySQL table format file, MySQL .frm file
DESENVOLVEDORMySQL AB / Oracle Corporationdesde 1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
TIPO MIMEapplication/octet-stream
TIPOArquivo binário de definição de tabela (entrada de dicionário de dados para uma tabela)
Esta extensão também é usada por…
  • Arquivo de Formulário Visual Basic - Arquivo fonte que descreve o layout e os controles de um formulário no VB6 e versões anteriores (texto simples).
  • Formulário FormFlow - Documento de formulário eletrônico criado pelo software legado JetForm/FormFlow.
  • Adobe FrameMaker (legado) - Instalações mais antigas do FrameMaker usavam .frm para alguns recursos de formulário/modelo.
MAGIC BYTES · ASSINATURA DO ARQUIVO
OFFSET
0001
HEX
FE01
ASCII
··
O cabeçalho FRM começa com uma palavra mágica/versão (comumente 0xFE 0x01 para o formato clássico). Não há assinatura ASCII estável entre versões; o arquivo é um blob binário proprietário, portanto a identificação é feita pela extensão + contexto (fica ao lado de .MYD/.MYI ou .ibd em um diretório de dados MySQL).

Programas que abrem arquivos FRM

Windows3 apps
MySQL Server Código aberto Coloque os arquivos da tabela no diretório de dados do servidor (versão correspondente), inicie o MySQL e execute SHOW CREATE TABLE / mysqldump. A maneira correta de usar um .frm.
mysqlfrm (MySQL Utilities) Código aberto Execute «mysqlfrm --diagnostic table.frm» para ler a instrução CREATE TABLE diretamente do arquivo, sem um servidor em execução.
MariaDB Server Código aberto O MariaDB ainda entende .frm - instale-o, coloque os arquivos em seu diretório de dados e faça o dump do esquema/dados.
macOS1 app
MySQL Server Código aberto Coloque os arquivos da tabela no diretório de dados do servidor (versão correspondente), inicie o MySQL e execute SHOW CREATE TABLE / mysqldump. A maneira correta de usar um .frm.
Linux2 apps
MySQL / MariaDB Server Código aberto Copie os arquivos para /var/lib/mysql (versão correspondente), inicie o serviço e execute SHOW CREATE TABLE ou mysqldump.
mysqlfrm (MySQL Utilities) Código aberto Execute «mysqlfrm --diagnostic table.frm» para ler a instrução CREATE TABLE diretamente do arquivo, sem um servidor em execução.

Detalhes técnicos

especificação profunda
Estrutura do arquivoBlob binário proprietário little-endian; sem compressão ou criptografia
Magic bytes0xFE 0x01 no deslocamento 0 (cabeçalho binário dependente da versão; sem assinatura ASCII estável)
ConteúdoDefinições de colunas (nomes, tipos, comprimentos, padrões), metadados de índices/chaves e opções de tabela - apenas esquema, nunca dados de linha
Tamanho típico do arquivo1 KB - 50 KB por tabela; cresce com a contagem de colunas e índices
Tipo MIMEapplication/octet-stream
Um arquivo por tabelaCada tabela recebe seu próprio arquivo .frm com o nome da tabela, armazenado no subdiretório do esquema no diretório de dados do MySQL
Companheiros MyISAM.MYD (dados de linha) e .MYI (dados de índice) - todos os três necessários para acesso total à tabela MyISAM
Companheiro InnoDBArquivo de tablespace .ibd - o .frm continha o esquema enquanto o .ibd continha dados e índices
Cobertura de mecanismosGravado por todos os mecanismos de armazenamento no MySQL 3.x - 5.7: MyISAM, InnoDB, MEMORY, CSV, ARCHIVE e outros
Removido emMySQL 8.0 (dezembro de 2018): metadados movidos para o dicionário de dados transacional do InnoDB; nenhum arquivo .frm é criado ou lido
Ainda usado porO MariaDB continuou gerando arquivos .frm após a divisão do MySQL 8.0
Utilitário de recuperaçãomysqlfrm (MySQL Utilities) lê um .frm autônomo para reconstruir a instrução DDL CREATE TABLE
DesenvolvedorMySQL AB (original); Oracle Corporation (desde a aquisição em 2010)
Sistemas operacionaisMultiplataforma: Linux, Windows, macOS, FreeBSD - em qualquer lugar onde o MySQL ou MariaDB fosse executado
Lançado1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
Versão mais recenteLast used in MySQL 5.7 / MariaDB; removed from MySQL 8.0 (December 2018)
Especificaçãodev.mysql.com

Conversões de FRM

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos FRM. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos FRM.

Perguntas frequentes

Como abro um arquivo .frm?
Você não o abre manualmente. Leia seu esquema com «mysqlfrm --diagnostic table.frm» ou coloque os arquivos da tabela no diretório de dados de um servidor MySQL/MariaDB correspondente e execute SHOW CREATE TABLE. Abrir o binário bruto em um editor de texto mostrará caracteres ilegíveis.
Posso recuperar meus dados apenas de um arquivo .frm?
Não - o .frm contém apenas a estrutura da tabela (colunas, tipos, índices). As linhas reais residem no arquivo .MYD (MyISAM) ou .ibd (InnoDB). Sem eles, você pode recuperar o esquema, mas não os dados.
Como obtenho a instrução CREATE TABLE de um .frm?
Execute «mysqlfrm --diagnostic sua_tabela.frm» a partir do MySQL Utilities, ou restaure o arquivo em um servidor MySQL/MariaDB e execute SHOW CREATE TABLE.
Por que o MySQL 8.0 não tem arquivos .frm?
O MySQL 8.0 (2018) substituiu os arquivos .frm por tabela por um dicionário de dados transacional armazenado dentro do InnoDB, corrigindo o antigo problema de arquivos .frm ficarem dessincronizados com os metadados do servidor.
Copiei o .frm mas recebo «Table doesn't exist» - por quê?
O InnoDB precisa do tablespace correspondente (.ibd) e da entrada no dicionário de dados. Copiar apenas o .frm não é suficiente; restaure todo o diretório de dados ou use uma ferramenta como o mysqlfrm para ler apenas a estrutura.
Quais programas abrem .frm além do MySQL?
O MariaDB Server também entende .frm, e o mysqlfrm o lê sem a necessidade de um servidor. Não existe um «visualizador» geral - é um formato interno do servidor.

Referências

1MySQL Internals Manual - .frm file formatdev.mysql.com
2MySQL 8.0 Reference - Data Dictionary (replaces .frm)dev.mysql.com

Continue explorando

em todo o banco de dados

Principais extensões desta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.DATProgram Data File (generic)
8.BINCD/DVD Disc Image (BIN/CUE)
9.EXEWindows Executable (Portable Executable)
10.DBSQLite Database File

Extensões relacionadas

.DBSQLite Database File
.DBFDatabase File (dBASE / xBase table)
.ACCDBMicrosoft Access Database (2007+)
.SQLSQL Script (Structured Query Language source / database dump)
.MDBMicrosoft Access Database (97-2003, Jet engine)
.FDBFirebird Database

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z