需求
本地开发需要用到 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
|