.IBD

File IBD

MySQL InnoDB Tablespace
Fai una domanda
RISPOSTA RAPIDA

Un file IBD è un tablespace MySQL/MariaDB InnoDB - il file binario che contiene le righe e gli indici di una singola tabella del database in modalità «file-per-table». Non esiste un visualizzatore autonomo; il file funziona solo all'interno di un server MySQL o MariaDB attivo che possieda anche i propri file di sistema (ibdata1, redo logs). Per estrarre i dati, collegarlo a un server corrispondente ed esportarli con mysqldump.

Sviluppatore: Oracle Corporation (InnoDB; originally Innobase Oy) Categoria: File di database MIME: application/octet-stream
SI APRE SU Windows macOS Linux
Correlati: .DB · .DBF · .ACCDB · .SQL

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jul 19, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file IBD?

I file con estensione .ibd memorizzano i dati delle tabelle del database MySQL InnoDB, incluse le righe della tabella, gli indici clusterizzati e gli indici secondari. Nella modalità «file-per-table» - quella predefinita a partire da MySQL 5.6 - ogni file .ibd contiene i dati e gli indici di una singola tabella, con il nome del file corrispondente al nome della tabella. Le configurazioni precedenti consentivano un tablespace condiviso per più tabelle e indici, in cui ogni tablespace era identificato da un numero ID univoco.

I file .ibd contengono pagine di dimensioni fisse, 16 KB per impostazione predefinita (configurabili da 4 KB a 64 KB al momento della creazione). Il formato è binario ed è suddiviso in diversi tipi di pagina con ruoli definiti:

  • FSP_HDR / pagina di intestazione - pagina 0, contenente l'intestazione del tablespace e i metadati
  • Pagine INDEX - pagine B-tree che contengono le righe della tabella (clusterizzate sulla chiave primaria) e le voci degli indici secondari
  • XDES PAGE - Pagina descrittore di estensione (Extent Descriptor Page), che descrive il contenuto delle pagine di estensione
  • INODE PAGE - pagina contenente informazioni sui segmenti del file

I file .ibd hanno una struttura interna complessa e devono essere aperti utilizzando strumenti database dedicati. Il formato supporta la crittografia trasparente opzionale (InnoDB TDE basata su AES, disponibile da MySQL 5.7) e la compressione opzionale a livello di pagina (ROW_FORMAT=COMPRESSED o compressione trasparente della pagina). Ogni pagina riporta un checksum CRC32 per pagina per la verifica dell'integrità.

A partire da MySQL 8.0, lo schema della tabella (Serialized Dictionary Information, SDI) è incorporato direttamente nel file .ibd, eliminando il file .frm separato richiesto da MySQL 5.7 e versioni precedenti. Il formato .ibd è supportato anche da MariaDB e Percona Server.

L'importazione di dati .ibd tra server richiede che venga importato anche il file di metadati .cfg di accompagnamento e, se il tablespace è crittografato, un file .cfp.

Sicurezza e incolumità

RISCHIO: MEDIUM

Un file .ibd contiene dati inerti - non si esegue - ma comporta reali rischi operativi e di privacy. Dal punto di vista operativo, non copiare, spostare o eliminare mai i file .ibd mentre il server MySQL è in funzione, e non mescolare mai file .ibd di diverse versioni del server o senza il loro tablespace di sistema (ibdata1) e i redo logs: farlo corrompe la tabella o causa il crash del server; il modo supportato per spostarli è tramite i tablespace trasportabili. Per quanto riguarda la privacy, un .ibd contiene le righe effettive della tabella in testo in chiaro su disco (a meno che non sia attiva la crittografia TDE), quindi un .ibd trapelato rappresenta una violazione dei dati: i file .ibd di produzione possono esporre record utente, credenziali o PII. Maneggiali e conservali come il database sensibile che sono.

Dettagli del formato

in sintesi
NOME COMPLETOMySQL InnoDB Tablespaceanche noto come InnoDB file-per-table tablespace, MySQL InnoDB data file
SVILUPPATOREOracle Corporation (InnoDB; originally Innobase Oy)dal 2005-2008 (file-per-table via innodb_file_per_table; default since MySQL 5.6, 2013)
TIPO MIMEapplication/octet-stream
TIPOTablespace binario organizzato in pagine da 16 KB

Programmi che aprono file IBD

Windows3 apps
MySQL Workbench Gratuito Client GUI: collegalo a un server MySQL in esecuzione che abbia la tabella caricata, quindi sfoglia/esporta. Non può leggere un file .ibd grezzo da solo.
MySQL Server Gratuito L'unico vero «apritore»: posiziona il file .ibd in un database corrispondente sotto la directory dei dati del server (o usa IMPORT TABLESPACE), avvia mysqld, quindi interroga/esporta la tabella. Richiede la versione corretta del server e i file di sistema.
MariaDB Server Open-source Fork di MySQL con InnoDB; può ospitare e importare tablespace .ibd compatibili ed esportare i dati. La compatibilità delle versioni è comunque fondamentale.
macOS1 app
MySQL Server / MariaDB Gratuito Stesso approccio di Windows: esegui un server MySQL o MariaDB locale, collega il tablespace e interroga/esporta. Non esiste un visualizzatore .ibd autonomo per macOS.
Linux2 apps
MySQL Server / MariaDB / Percona Server Gratuito Installa il server (corrispondente alla versione sorgente), posiziona la tabella nella directory dei dati o usa IMPORT TABLESPACE, quindi esegui il mysqldump dei dati. La procedura standard lato server.
undrop-for-innodb (recovery toolkit) Open-source Recupero forense di ultima istanza: analizza le pagine InnoDB grezze da un .ibd per estrarre le righe quando non è disponibile un server funzionante. Strumento per esperti, non un visualizzatore comune.

Dettagli tecnici

specifiche approfondite
Dimensione pagina predefinita16 KB; configurabile alla creazione del tablespace a 4 KB, 8 KB, 32 KB o 64 KB tramite innodb_page_size
Ordine dei byteBig-endian - tutti gli interi multi-byte sono memorizzati in ordine big-endian su disco
Variante formato fileAntelope (formati riga REDUNDANT/COMPACT, MySQL ≤5.7) o Barracuda (DYNAMIC/COMPRESSED, MySQL 5.7+)
Intestazione/coda della paginaOgni pagina porta un'intestazione FIL di 38 byte e una coda FIL di 8 byte che racchiudono il corpo della pagina
Firma del fileNessun magic byte fisso; la prima pagina è FSP_HDR (tipo 0x0008 ai byte 24-25 dell'intestazione FIL)
Checksum per paginaCRC32 per impostazione predefinita (da MySQL 5.6); supporta anche InnoDB legacy o nessuno - valore memorizzato nell'intestazione e nella coda FIL
Struttura dell'indiceB+ tree clusterizzato sulla chiave primaria; gli indici secondari memorizzano riferimenti alla chiave primaria anziché puntatori diretti alle righe
Dimensione estensione1 MB (64 pagine consecutive da 16 KB); il tablespace cresce di un'estensione alla volta
CrittografiaCrittografia trasparente dei dati (TDE) InnoDB AES-256 con wrapping della chiave per pagina; introdotta in MySQL 5.7 e MariaDB 10.1
CompressioneROW_FORMAT=COMPRESSED utilizza zlib a livello di pagina (formato Barracuda); la compressione trasparente della pagina utilizza il filesystem hole-punching
Archiviazione overflowI valori delle colonne che superano la soglia interna alla pagina vengono spostati in pagine BLOB/overflow dedicate all'interno dello stesso tablespace
Archiviazione schemaMySQL 8.0+ incorpora SDI (Serialized Dictionary Information) nel tablespace; MySQL 5.7 e versioni precedenti memorizzano lo schema in un file .frm separato
Formati riga supportatiREDUNDANT, COMPACT (Antelope); DYNAMIC (predefinito da MySQL 5.7), COMPRESSED (Barracuda)
Protezione pagine incompleteIl buffer doublewrite scrive ogni pagina da 16 KB in un'area dedicata prima della posizione finale nel tablespace, proteggendo dalle scritture parziali
Tipo MIMEapplication/octet-stream (nessun tipo MIME specifico registrato)
SviluppatoreOracle Corporation (motore InnoDB; originariamente Innobase Oy, acquisita da Oracle nel 2005)
Rilasciato2005-2008 (file-per-table via innodb_file_per_table; default since MySQL 5.6, 2013)
Ultima versioneInnoDB in MySQL 8.0 / 8.4 (data dictionary moved into the tablespace; .frm removed)
Specificadev.mysql.com

Conversioni IBD

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file IBD. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file IBD.

Domande frequenti

Cos'è un file IBD?
È un tablespace InnoDB «file-per-table» di MySQL/MariaDB: il file binario che contiene le righe e gli indici di una tabella del database. Fa parte di un database, non è un documento autonomo.
Come posso aprire o visualizzare un file IBD?
Non esiste un visualizzatore autonomo. Caricalo in un server MySQL/MariaDB corrispondente (necessita anche del tablespace di sistema e dei redo logs e, su 5.7, dello schema .frm), quindi interroga o esporta la tabella. Gli strumenti che dichiarano di aprire un .ibd grezzo sono utility di recupero.
Come posso estrarre i dati da un file IBD?
Collega la tabella a un server MySQL (tramite la directory dei dati o IMPORT TABLESPACE), quindi esportala con mysqldump in un file .sql, oppure con SELECT ... INTO OUTFILE in CSV. Per un server non funzionante, usa i tablespace trasportabili o undrop-for-innodb.
Posso semplicemente copiare un .ibd su un altro server?
Non con una semplice copia. Usa «FLUSH TABLES ... FOR EXPORT» (che crea un .cfg), copia i file .ibd + .cfg, crea una tabella vuota corrispondente sul target, quindi esegui «ALTER TABLE ... IMPORT TABLESPACE». Le versioni e le definizioni delle tabelle devono corrispondere.
Dov'è lo schema della tabella se MySQL 8.0 non ha file .frm?
MySQL 8.0 incorpora lo schema all'interno del file .ibd come Serialized Dictionary Information (SDI). Esegui «ibd2sdi tabella.ibd» per estrarre la definizione della tabella come JSON. MySQL 5.7 e versioni precedenti conservano lo schema in un file .frm separato.
Posso eliminare i file .ibd per liberare spazio?
Non direttamente dal filesystem: ciò corrompe il dizionario dei dati di InnoDB. Per rimuovere i dati di una tabella, usa DROP TABLE (o TRUNCATE) dall'interno di MySQL, che elimina il file .ibd in modo sicuro. Elimina i file manualmente solo quando il server è spento e sai che la tabella è stata rimossa.
Il mio MySQL non si avvia a causa di un .ibd: cosa devo fare?
Le cause comuni sono un .ibd mancante o non corrispondente, una mancata corrispondenza di versione o una corruzione. Le opzioni di ripristino includono innodb_force_recovery per avviare in sola lettura ed eseguire il dump dei dati, il ripristino da backup o strumenti di ultima istanza come undrop-for-innodb. Lavora sempre su una copia.

Riferimenti

1MySQL Reference Manual - File-Per-Table Tablespacesdev.mysql.com
2MySQL Reference Manual - Copying Tablespaces to Another Instance (transportable)dev.mysql.com

Continua a esplorare

nel database

Migliori estensioni della settimana

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.PARTPartial Download File
4.CRDOWNLOADChrome Partial Download File
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

Estensioni correlate

.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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z