原配置 Non-Transactional Database Only (僅 MyISAM),安裝 WordPress 需 InnoDB,執行配置精靈切換引擎時遭遇啟動失敗循環。
InnoDB: Error: log file .\ib_logfile0 is of different size 0 52428800 bytes
InnoDB: than specified in the .cnf file 0 10485760 bytes!
解決:刪除 ib_logfile0、ib_logfile1,**重啟作業系統** (Windows 服務鎖定檔案需重開機釋放)。
InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database...
解決:刪除**所有** ibdata* 與 ib_logfile*,重啟服務自動重建系統表空間。
InnoDB: The first specified data file ... ibdata1 did not exist: a new database to be created!
InnoDB: Setting file ... ibdata1 size to 10 MB
InnoDB: Log file ... ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ... ib_logfile0 size to 109 MB
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Foreign key constraint system tables created
InnoDB: Started; log sequence number 0 0
[Note] mysqld: ready for connections.
mysqldump --single-transaction --routines --triggers --all-databases > full.sqldefault-storage-engine=InnoDB、innodb_buffer_pool_size、innodb_log_file_size 等。systemctl stop mysqldibdata*, ib_logfile* 至備份目錄 (非刪除)。SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' ENGINE=InnoDB;')
FROM information_schema.TABLES
WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys')
INTO OUTFILE '/tmp/alter_engine.sql';
SOURCE /tmp/alter_engine.sql;
SHOW TABLE STATUS 確認 Engine=InnoDB,應用測試。ibdata1/ib_logfile*,**必須重啟作業系統** 釋放句柄。my.ini.bak 依時間命名,可快速回滾。datadir\主機名.err,善用它定位問題。若初始規劃直接啟用 InnoDB 並配置合理參數,可避免完整遷移的風險與停機時間。生產環境遷移必須有完整備份、回滾預案、低峰期操作。