MySQL 默認安裝不包含事務支持,需安裝 Max 版並替換服務、配置 my.ini 方可啟用 InnoDB。本文提供從下載到驗證的全流程操作指南(基於 MySQL 4.x/5.x 早期版本經驗,現代版本 InnoDB 已為默認引擎,配置參數仍具參考價值)。
www.mysql.com),常規安裝bin\WinMySQLadmin → 退出bin\mysqld-nt --remove
bin\mysqld-max-nt --install
在 C 盤(或其他盤)創建兩個目錄:
C:\ibdata — 表空間數據文件存放C:\iblogs — 重做日志文件存放記住路徑,後續配置需填寫。
my.ini 核心配置打開 C:\WINNT\my.ini 或 C:\WINDOWS\my.ini(或安裝目錄下),在 [mysqld] 區段追加:
[mysqld]
# 表空間配置:兩個 2GB 文件(按磁盤容量調整,建議預留 10GB+)
innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
innodb_data_home_dir = C:/ibdata
# 日志組配置
set-variable = innodb_mirrored_log_groups=1
innodb_log_group_home_dir = C:/iblogs
set-variable = innodb_log_files_in_group=3
set-variable = innodb_log_file_size=30M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1 # ACID 合規,每次提交刷盤
innodb_log_arch_dir = C:/iblogs
innodb_log_archive=0
# 內存池配置(按物理內存調整)
set-variable = innodb_buffer_pool_size=80M # 建議物理內存 50-70%
set-variable = innodb_additional_mem_pool_size=10M
set-variable = innodb_file_io_threads=4 # 磁盤 I/O 線程
set-variable = innodb_lock_wait_timeout=50 # 鎖等待超時(秒)
關鍵說明:
innodb_data_file_path 總大小不得超過可用磁盤空間,現代版本支援自動擴展(autoextend)innodb_buffer_pool_size 是性能核心,專用服務器建議設為物理內存 70%/ 或雙反斜槠 \\MySQL 服務SHOW VARIABLES LIKE 'have_%';
have_innodb YES 即表示事務引擎啟動成功:
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| have_bdb | YES |
| have_innodb | YES | <-- 關鍵標誌
| have_isam | YES |
| have_raid | NO |
| have_symlink | YES |
| have_openssl | NO |
| have_query_cache| YES |
+----------------+-------+
my.cnf,但在 Windows 下必須用 my.ini,否則不生效