Windows 下 MySQL 服務啟動失敗報「系統錯誤 1067:進程意外終止」,通常由配置文件路徑錯誤、數據目錄缺失、權限不足、殘留進程衝突引起。本文給出標準化修復流程與自動化啟動腳本。
net stop MySQL
sc delete MySQL
my.ini 關鍵路徑(放置於 MySQL 安裝根目錄或 C:\Windows\my.ini)
[mysqld]
basedir=C:/mysql
datadir=C:/mysql/data
port=3306
character-set-server=utf8mb4
default-storage-engine=InnoDB
[client]
port=3306
default-character-set=utf8mb4
關鍵點: 路徑用正斜線 / 或雙反斜線 \\;datadir 必須存在且包含 mysql 系統庫文件。
cd C:\mysql\bin
mysqld --initialize-insecure --basedir=C:\mysql --datadir=C:\mysql\data
mysqld --install MySQL --defaults-file="C:\mysql\my.ini"
net start MySQL
start_mysql.bat(放於 MySQL 根目錄)@echo off
cd /d %~dp0
if not exist data\%computername%.pid goto startsvr
net stop MySQL
bin\mysqld.exe --remove MySQL
:startsvr
echo MySQL 服務正在啟動.....
bin\mysqld.exe --install MySQL --defaults-file="%cd%\my.ini"
net start MySQL
pause
@echo off
REM deploy_mysql.bat
SET MYSQL_HOME=C:\mysql-5.7
SET DATADIR=%MYSQL_HOME%\data
REM 1. 解壓免安裝包至 %MYSQL_HOME%
REM 2. 生成 my.ini
echo [mysqld] > %MYSQL_HOME%\my.ini
echo basedir=%MYSQL_HOME% >> %MYSQL_HOME%\my.ini
echo datadir=%DATADIR% >> %MYSQL_HOME%\my.ini
echo character-set-server=utf8mb4 >> %MYSQL_HOME%\my.ini
echo default-storage-engine=InnoDB >> %MYSQL_HOME%\my.ini
echo. >> %MYSQL_HOME%\my.ini
echo [client] >> %MYSQL_HOME%\my.ini
echo default-character-set=utf8mb4 >> %MYSQL_HOME%\my.ini
REM 3. 初始化
%MYSQL_HOME%\bin\mysqld --initialize-insecure --basedir=%MYSQL_HOME% --datadir=%DATADIR%
REM 4. 安裝服務
%MYSQL_HOME%\bin\mysqld --install MySQL --defaults-file=%MYSQL_HOME%\my.ini
REM 5. 啟動
net start MySQL
pause
| 工具 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| phpMyAdmin | Web 界面、易用 | <2MB 限制、大數據超時 | 小型測試庫 |
| 程序自帶備份 | 邏輯備份、還原簡單 | 依賴程序框架、版本綁定 | Discuz、WordPress 等 CMS |
| 帝國備份王 | 無大小限制、分卷壓縮 | Zend 加密、文件多 | 中型項目 |
| faisunsql | 單文件、免安裝、導入導出快 | 功能相對簡單 | 運維首選、強烈推薦 |
| mysqldump + xtrabackup | 官方、熱備份、增量、壓縮、並行 | 命令行、學習成本 | 生產環境標準 |
my.ini 路徑是否生效:mysqld --verbose --help | findstr my.inidatadir 權限:系統用戶 NETWORK SERVICE 或運行用戶需完全控制netstat -ano | findstr 3306datadir\.err 內容mysqld.exe 加入白名單