52 lines
1.5 KiB
Batchfile
52 lines
1.5 KiB
Batchfile
@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
|