首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 表在檔案系統中的物理表現形式對照表

     編輯:MySQL 資料庫相關知識

各引擎文件結構一覽

引擎文件用途備註
ISAM.frm表結構定義所有引擎通用
.ISD資料文件行資料
.ISM索引文件索引樹
MyISAM.frm結構定義
.MYD資料文件(MYData)
.MYI索引文件(MYIndex)
MERGE.frm結構定義引用多個同結構 MyISAM 表
.MRG子表清單每行一個子表名,可手工修改動態增減分片
BDB.frm結構定義
.db資料+索引Berkeley DB 統一存儲
InnoDB.frm結構定義獨立表空間模式另產生 .ibd
表空間文件共享表空間 ibdata* / 獨立 .ibd資料+索引+MVCC+Undo Log
MEMORY.frm結構定義資料與索引全在記憶體
(無)無持久化文件重啟丟失,僅適合暫存/緩存

文件層面操作等價 DDL

  • CREATE TABLE → 建立 .frm + 引擎專屬文件。
  • DROP TABLE → 刪除所有相關文件(InnoDB 共享表空間僅刪 .frm,資料標記刪除)。
  • TRUNCATE TABLE → 刪除並重建文件(MyISAM/InnoDB 獨立表空間極快)。

直接文件操作風險與合法場景

風險:Server 運行時移動/刪除文件會導致緩存不一致、崩潰。

合法離線操作(需停服務或 FLUSH TABLES WITH READ LOCK):

# 刪除 MyISAM 表
cd /var/lib/mysql/dbname
rm -f tbl_name.frm tbl_name.MYD tbl_name.MYI

# 遷移數據目錄
mv /var/lib/mysql /data/mysql
ln -s /data/mysql /var/lib/mysql

InnoDB 共享表空間嚴禁文件級搬移,需用 mysqldump 邏輯遷移或 innodb_file_per_table + DISCARD/IMPORT TABLESPACE。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved