首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.5/5.6/8.0 禁用 InnoDB 引擎完整配置指南

     編輯:MySQL 綜合教學

為什麼要禁用 InnoDB

  • 純讀取/日誌/快取場景,MyISAM/Memory 輕量得多
  • 嵌入式/資源受限環境,InnoDB 佔用大量記憶體(Buffer Pool、Log Buffer、字典)
  • 不需要事務、行鎖、外鍵、崩潰恢復

MySQL 5.5 / 5.6 配置

[mysqld]
default-storage-engine = MYISAM
default-tmp-storage-engine = MYISAM   # 5.6 新增,臨時表也用 MyISAM
skip-innodb                         # 5.5/5.6 生效

重啟後驗證:

記憶體佔用對比(經驗值)

版本啟用 InnoDB禁用 InnoDB (MyISAM)備註
5.5~400MB+~50MBBuffer Pool 預設 128MB
5.6~500MB+~60MB新增幾十個系統表
8.0~800MB+不可行Data Dictionary 強制 InnoDB

效能差異

  • MyISAM 讀密集(SELECT 多、UPDATE 少)效能優於 InnoDB
  • InnoDB 寫入/並發/事務/崩潰恢復全方位優於 MyISAM
  • 官方數據:5.6 比 5.5 整體提升 ~30%(啟用 InnoDB 情況下)

遷移建議

  1. 評估是否真的不需要事務/行鎖/外鍵/恢復
  2. 若確定,5.5/5.6 設 default-storage-engine=MYISAM; skip-innodb
  3. 8.0 不要嘗試禁用 InnoDB,改用 innodb_buffer_pool_size=32M 極小化記憶體
  4. 備份策略:MyISAM 需 mysqlhotcopy/cp -r(需鎖表),InnoDB 用 xtrabackup/mysqldump --single-transaction

小結

MySQL 5.5/5.6 可用 skip-innodb + default-storage-engine=MYISAM 徹底禁用 InnoDB,節省 ~80% 記憶體。MySQL 8.0 系統表強制 InnoDB,**禁用不現實**,請接受 InnoDB 並調小 Buffer Pool。選擇引擎本質是業務需求與資源預算的權衡。

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