@echo off setlocal enabledelayedexpansion chcp 65001 >nul 2>&1 title 停止 MySQL - 自动签名系统 cd /d "%~dp0" set MYSQL_HOME=%~dp0mysql echo ======================================== echo 停止 MySQL 服务... echo ======================================== echo. netstat -aon | findstr ":33366 " | findstr "LISTENING" >nul 2>&1 if !errorlevel! neq 0 ( echo [MySQL] 端口 33366 未监听, MySQL 未在运行 timeout /t 3 >nul exit /b 0 ) if exist "%MYSQL_HOME%\bin\mysqladmin.exe" ( echo [MySQL] 正在发送 shutdown... "%MYSQL_HOME%\bin\mysqladmin.exe" -u root --port=33366 shutdown 2>nul if !errorlevel! equ 0 ( echo [MySQL] 等待端口释放... set DOWN=0 for /L %%i in (1,1,15) do ( if !DOWN! equ 0 ( timeout /t 1 /nobreak >nul 2>&1 netstat -aon | findstr ":33366 " | findstr "LISTENING" >nul 2>&1 if !errorlevel! neq 0 ( set DOWN=1 echo [MySQL] 已停止 ) ) ) if !DOWN! equ 0 echo [MySQL] 端口仍被占用, 可能需要手动 taskkill mysqld.exe ) else ( echo [MySQL] shutdown 失败, 尝试 taskkill mysqld.exe taskkill /f /im mysqld.exe >nul 2>&1 ) ) else ( echo [错误] 未找到 mysqladmin.exe: %MYSQL_HOME%\bin\mysqladmin.exe echo 尝试 taskkill mysqld.exe taskkill /f /im mysqld.exe >nul 2>&1 ) echo. echo 完成。 Web 服务不受影响 (如仍在运行)。 timeout /t 3 >nul exit /b 0