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

MySQL 5.6 x64 安裝啟動報錯 1067 完整排查與修復實戰

     編輯:MySQL 綜合教學

錯誤現象

  • MySQL Installer 卡在 Attempting to start service。
  • 手動 net start mysql56 彈出 系統錯誤 1067:程序意外終止。
  • 服務管理器 (services.msc) 找不到 MySQL 服務。

根因分析

  1. ODBC 驅動衝突:安裝日誌出現 Error 1918: Error installing ODBC driver MySQL ODBC 5.2 ANSI Driver,官方安裝包為 x86 版本,在 x64 系統需手動註冊 x64 ODBC。
  2. 配置檔缺失關鍵路徑:my.ini 缺少 basedir、datadir、port,導致服務無法定位資料目錄。
  3. InnoDB 記憶體設定過大:預設 innodb_buffer_pool_size=256M 在 1GB RAM 機器上啟動失敗 (Error 1455 頁面檔不足)。

分步修復流程

步驟 1:解決 ODBC 問題

# 以系統管理員身分開啟 CMD
cd C:\Windows\SysWOW64
odbcconf.exe /A {INSTALL "MySQL ODBC 5.3 ANSI Driver" "DRIVER=myodbc5a.dll;SETUP=myodbc5aS.dll"}
odbcconf.exe /A {INSTALL "MySQL ODBC 5.3 Unicode Driver" "DRIVER=myodbc5w.dll;SETUP=myodbc5wS.dll"}

或直接下載 MySQL Connector/ODBC 5.3 x64 獨立安裝。

步驟 2:手動安裝 Windows 服務

cd "C:\Program Files\MySQL\MySQL Server 5.6\bin"
mysqld --install MySQL56 --defaults-file="C:\Program Files\MySQL\MySQL Server 5.6\my.ini"
# 成功顯示:Service successfully installed.

步驟 3:撰寫正確的 my.ini

[mysqld]
# 基本路徑(務必用正斜線或雙反斜線)
basedir="C:/Program Files/MySQL/MySQL Server 5.6/"
datadir="C:/Program Files/MySQL/MySQL Server 5.6/data/"
port=3307                          # 避開 3306 衝突

# 字元集
character-set-server=utf8
collation-server=utf8_general_ci

# InnoDB 記憶體:小記憶體機器建議 64M~128M
innodb_buffer_pool_size=64M
innodb_log_file_size=16M

# 日誌與錯誤
log-error="mysql.err"
slow_query_log=1
slow_query_log_file="slow.log"
long_query_time=2

# 安全模式
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

[client]
port=3307
default-character-set=utf8

步驟 4:初始化資料目錄 (MySQL 5.7+ 需額外執行)

mysqld --initialize-insecure --defaults-file="C:\Program Files\MySQL\MySQL Server 5.6\my.ini"
# 5.6 版本啟動服務會自動建立 system tables,無需此步

步驟 5:啟動並驗證

net start MySQL56
mysql -uroot -p -P3307 -e "SELECT VERSION(); SHOW VARIABLES LIKE 'port';"

避坑清單

檢查項目正確做法
埠口衝突netstat -ano | findstr :3306 確認是否被佔用,改用 3307
權限不足CMD 必須「以系統管理員執行」
防毒軟體攔截暫時關閉或將 mysqld.exe 加入白名單
殘留服務sc delete MySQL56 清除舊服務再重裝
KB967723 補丁Windows 2008 R2 若套用此 TCP/IP 修補程式會導致 1067,建議移除該更新

驗證清單

  1. 服務狀態:RUNNING
  2. 錯誤日誌 mysql.err 無 InnoDB: Assertion failure
  3. 可本地與遠端連線
  4. SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; 符合設定值
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved