net start mysql → MySQL 服務無法啟動。系統發生 1067 錯誤。進程意外終止。
| 類別 | 典型原因 | 解決動作 |
|---|---|---|
| 配置檔 | my.ini 路徑衝突 / 關鍵參數缺失 / 編碼錯誤 | 僅保留安裝目錄 my.ini;確保 [mysqld] 含 basedir/datadir;編碼改 utf8mb4 |
| 儲存引擎 | 預設 default-storage-engine=InnoDB 但版本不支援/損壞 | 改為 MyISAM 或重建 ibdata/ib_logfile |
| 權限/目錄 | datadir 權限不足 / 低權限服務帳戶密碼過期 / 目錄被殺毒隔離 | 授予服務帳戶完全控制;排除殺毒白名單;重置服務帳戶密碼 |
| 服務註冊 | 服務路徑指向錯誤 / 殘留舊服務 | mysqld -remove && mysqld -install 重註冊 |
| 資料檔 | ibdata1/ib_logfile 損壞 / 非正常關機導致崩潰恢複失敗 | 用備份覆蓋 或 刪除 ib_logfile0/1 讓 InnoDB 重建 (風險:可能丟資料) |
| 埠衝突 | 3306 被佔用 / IPv6 ::1 綁定問題 | netstat -ano | findstr 3306;my.ini bind-address=0.0.0.0 |
net stop mysql (若卡住 → 任務管理員殺 mysqld.exe)C:\Windows\my.ini (若存在)datadir (整個 data 目錄)mysqld -removemy-small.ini → my.ini,修改 basedir/datadirmysqld -installnet start mysqlmysql -u root -p 連線正常mysqlrun),配置目錄 ACL 後服務啟動失敗。# 檢查錯誤日誌
tail -100 /var/log/mysqld.log
# 檢查權限
ls -la /var/lib/mysql/
# 檢查埠
ss -tlnp | grep 3306
# 重建服務腳本
cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
datadir 非系統盤,便於備份/遷移/重裝保留資料。my.ini 生效,移除系統目錄副本。innodb_log_file_size、innodb_buffer_pool_size 與實體記憶體匹配。CHECK TABLE、BACKUP、pt-table-checksum。1067 是「MySQL 進程啟動後異常退出」的通用碼,**無單一標準答案**。「配置檔 → 權限/目錄 → 儲存引擎檔案 → 服務註冊 → 埠/網路」五維排查,配合錯誤日誌 (.err) 定位具體斷點,通常 15 分鐘內可解決。建立標準化部署腳本 (Ansible/Shell) 可杜絕人為配置漂移。