首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 服務啟動失敗錯誤 1058:服務重新註冊與 my.ini 修復實戰

     編輯:MySQL 資料庫相關知識

現象

使用 360 安全衛士禁用 MySQL 服務後,嘗試重新啟動報錯 1058。mysqld-nt --standalone 可運行,但服務模式失敗。

根本原因

  • 服務註冊資訊損壞/遺失(ImagePath、啟動參數錯誤)。
  • my.ini 核心路徑(basedir/datadir)缺失或錯誤。
  • 配置檔未被服務讀取(路徑不在搜尋順序中)。

解決方案一:重新註冊服務(最直接)

REM 以管理員身分執行 CMD
cd /d D:\MySQL\bin

REM 1. 移除舊服務
mysqld-nt -remove

REM 2. 重新安裝服務(指定配置檔)
mysqld-nt -install MySQL --defaults-file="D:\MySQL\my.ini"

REM 3. 啟動
net start MySQL

解決方案二:修正 my.ini 核心配置

確保 %SystemRoot%\my.ini(或安裝目錄)包含:

[mysqld]
basedir=D:/MySQL
datadir=D:/MySQL/data
default-character-set=utf8mb4
port=3306

[WinMySQLadmin]
Server=D:/MySQL/bin/mysqld-nt.exe
user=root
password=your_pass

[client]
user=root
password=your_pass
port=3306

解決方案三:複製配置檔至系統目錄(兼容舊版)

copy D:\MySQL\my.ini C:\Windows\my.ini
copy D:\MySQL\my.ini C:\Windows\system32\my.ini
REM 確保路徑一致性

驗證步驟

  1. sc qc MySQL 檢查服務 ImagePath 是否正確指向 mysqld-nt.exe 並帶 --defaults-file。
  2. mysqld-nt --print-defaults 確認實際讀取的配置值。
  3. 查看錯誤日誌 datadir\主機名.err。

預防建議

  • 避免使用「優化大師」類工具禁用資料庫服務,改用 services.msc 或 net stop。
  • 生產環境將 my.ini 置於固定路徑(如 D:\MySQL\my.ini),服務安裝時強制指定 --defaults-file。
  • 定期備份 my.ini、datadir、服務註冊資訊(reg export HKLM\SYSTEM\CurrentControlSet\Services\MySQL)。

重新註冊服務 + 修正核心路徑,雙管齊下徹底解決 1058 錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved