net start mysql56 彈出 系統錯誤 1067:程序意外終止。Error 1918: Error installing ODBC driver MySQL ODBC 5.2 ANSI Driver,官方安裝包為 x86 版本,在 x64 系統需手動註冊 x64 ODBC。my.ini 缺少 basedir、datadir、port,導致服務無法定位資料目錄。innodb_buffer_pool_size=256M 在 1GB RAM 機器上啟動失敗 (Error 1455 頁面檔不足)。# 以系統管理員身分開啟 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 獨立安裝。
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.
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
mysqld --initialize-insecure --defaults-file="C:\Program Files\MySQL\MySQL Server 5.6\my.ini"
# 5.6 版本啟動服務會自動建立 system tables,無需此步
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,建議移除該更新 |
RUNNINGmysql.err 無 InnoDB: Assertion failureSHOW VARIABLES LIKE 'innodb_buffer_pool_size'; 符合設定值