MySQL服务管理脚本(Windows)

需求

本地开发需要用到 Mysql,一直开机自启动在后台占内存不方便,遂写了一个简单的管理脚本

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
@echo off
:menu
cls
echo MySQL 服务状态:
sc query "MySQL" | find "STATE" | find "RUNNING" >nul
if %errorlevel%==0 (
echo MySQL 服务正在运行.
) else (
echo MySQL 服务未运行.
)

echo.
echo MySQL 服务自启动状态:
sc qc "MySQL" | find "START_TYPE" | find "2" >nul
if %errorlevel%==0 (
echo MySQL 服务已设置为开机自启动.
) else (
echo MySQL 服务未设置为开机自启动.
)
echo.
echo MySQL 服务监听端口:
netstat -ano | findstr "3306"
if %errorlevel%==0 (
echo MySQL 服务正在监听 3306 端口.
) else (
echo MySQL 服务未监听 3306 端口.
)

echo.
echo MySQL 版本信息:
mysql --version 2>nul
echo.
echo 请选择一个操作:
echo 0 - 切换 MySQL 服务状态
echo 1 - 切换 MySQL 服务开机自启动状态
echo 2 - 退出

set /p choice=请输入操作的数字:

if "%choice%"=="0" (
net start MySQL 2>nul
if %errorlevel%==0 (
echo 启动成功.
) else (
net stop MySQL 2>nul
if %errorlevel%==0 (
echo 停止成功.
) else (
echo 无法启动或停止 MySQL 服务.
)
)
timeout /t 5 >nul
goto menu
) else if "%choice%"=="1" (
sc qc "MySQL" | find "START_TYPE" | find "2" >nul
if %errorlevel%==0 (
sc config MySQL start= demand
if %errorlevel%==0 (
echo 已关闭 MySQL 服务的开机自启动.
) else (
echo 无法关闭 MySQL 服务的开机自启动.
)
) else (
sc config MySQL start= auto
if %errorlevel%==0 (
echo 已开启 MySQL 服务的开机自启动.
) else (
echo 无法开启 MySQL 服务的开机自启动.
)
)
timeout /t 3 >nul
goto menu
) else if "%choice%"=="2" (
exit
) else (
echo 无效的选项,请重新选择.
timeout /t 2 >nul
goto menu
)

扩展

检测是否在监听 3306 端口

1
2
3
4
5
6
7
echo MySQL 服务监听端口:
netstat -ano | findstr "3306"
if %errorlevel%==0 (
echo MySQL 服务正在监听 3306 端口.
) else (
echo MySQL 服务未监听 3306 端口.
)

检测 Mysql 版本

1
2
echoecho MySQL 版本信息:
mysql --version

MySQL服务管理脚本(Windows)

http://wxory.com/archives/6975.html

作者

Wxory

发布于

2023-10-26

更新于

2024-03-02

许可协议

CC BY 4.0