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

解決 MySQL 無法啟動:Default storage engine (InnoDB) is not available

     編輯:MySQL 資料庫相關知識

錯誤場景

配置文件同時設定:

default-storage-engine = INNODB
skip-innodb

導致啟動失敗,錯誤日誌:

[ERROR] Default storage engine (InnoDB) is not available
[ERROR] Aborting

根本原因

  • skip-innodb 禁用 InnoDB 引擎載入。
  • default-storage-engine = INNODB 要求預設引擎為 InnoDB。
  • 兩者衝突,MySQL 拒絕啟動。

解決方案 (二選一)

方案 A:啟用 InnoDB (推薦)

# 註解或刪除 skip-innodb
# skip-innodb
default-storage-engine = INNODB

確保 innodb_buffer_pool_size 等核心參數已配置。

方案 B:改用 MyISAM 作為預設

skip-innodb
default-storage-engine = MYISAM

此模式下 ibdata1, ib_logfile* 不會建立,可刪除節省空間。

驗證步驟

  1. 修改 my.cnf / my.ini
  2. systemctl restart mysqld
  3. 查看錯誤日誌確認無 ERROR
  4. 登入檢查:SHOW ENGINES; / SHOW VARIABLES LIKE 'default_storage_engine';

補充知識

  • MySQL 5.7+ 系統表 (mysql.user 等) 強制使用 InnoDB,**不能**完整禁用 InnoDB,skip-innodb 僅防止用戶建立 InnoDB 表。
  • 若誤刪 ibdata1 導致無法啟動,需從備份恢復或重新初始化資料目錄 (mysqld --initialize)。
  • Windows 服務啟動失敗常見於配置文件編碼 (需 UTF-8 無 BOM) 或路徑分隔符錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved