分享知识 传递快乐
此命令是本人用于操作MaraiaDB服务的启动、停止、重启、查看配置等操作,仅供参考。
如有需要了解更多bat命令,请点击查看《BAT命令常用API》。
代码如下:
::对服务的操作
@ECHO OFF
TITLE WNMP管理程序
COLOR 0A
set WNMP_HOME=D:/WnmpServer/wnmp/bin
set MARIADB_HOME=%WNMP_HOME%/mariadb/10.4.10/bin
set SERVER_NAME=MariaDB
:MENU
:: 判断程序是否存在
ECHO **********************************
ECHO *
ECHO * MariaDB程序管理
ECHO *
ECHO **********************************
echo.
echo. [1] 启动MariaDB
echo. [2] 关闭MariaDB
echo. [3] 重启MariaDB
echo. [4] 删除MariaDB
echo. [5] 查看进程
echo. [6] 查看版本
echo. [7] 刷新
echo. [0] 退出
echo.
echo.请输入选择的序号:
set /p ID=
if "%id%"=="1" goto start
if "%id%"=="2" goto stop
if "%id%"=="3" goto restart
if "%id%"=="4" goto remove
if "%id%"=="5" goto show
if "%id%"=="6" goto version
if "%id%"=="7" goto refresh
if "%id%"=="0" exit
PAUSE
::*************************************************************************************
::创建
::*************************************************************************************
::启动
:start
call :StartMariaDB
call :Line
goto MENU
::停止
:stop
call :StopMariaDB
call :Line
goto MENU
::重启
:restart
call :StopMariaDB
call :StartMariaDB
call :Line
goto MENU
::删除
:remove
call :RemoveMariaDB
call :Line
goto MENU
::查看版本
:version
call :MariaDBVer
call :Line
goto MENU
::查看进程
:show
call :ShowMariaDB
call :Line
goto MENU
::刷新
:refresh
echo.
cls
goto MENU
::*************************************************************************************
::底层
::*************************************************************************************
::启动
:StartMariaDB
echo.
::判断服务是否存在,errorlevel返回0存在,1不存在
sc query %SERVER_NAME% |findstr /i "%SERVER_NAME%">nul 2>nul
::echo errorlevel:%errorlevel%
if %errorlevel% EQU 1 (
echo 服务不存在,正在创建服务....
%MARIADB_HOME%/mysql_install_db.exe --datadir=%WNMP_HOME%/mariadb/database --service=%SERVER_NAME% --password=admini
net start %SERVER_NAME%
) else (
::判断服务是否启动(如果是停止,则启动服务)
sc query %SERVER_NAME% |find /i "STOPPED">nul 2>nul
::echo errorlevel:%errorlevel%
for /F "tokens=3 delims=: " %%H in ('sc query %SERVER_NAME% ^| findstr "STATE"') do (
::echo %%H
if /I "%%H" EQU "STOPPED" (
net start %SERVER_NAME%
) else (
echo %%H
)
)
)
goto :eof
::关闭
:StopMariaDB
echo.
::判断服务是否存在,errorlevel返回0存在,1不存在
sc query %SERVER_NAME% |findstr /i "%SERVER_NAME%">nul 2>nul
::echo errorlevel:%errorlevel%
if %errorlevel% EQU 0 (
::判断服务是否启动
sc query %SERVER_NAME% |find /i "RUNNING">nul 2>nul
::echo errorlevel:%errorlevel%
for /F "tokens=3 delims=: " %%H in ('sc query %SERVER_NAME% ^| findstr "STATE"') do (
::echo %%H
if /I "%%H" EQU "RUNNING" (
net stop %SERVER_NAME%
) else (
echo %%H
)
)
) else (
echo 服务不存在,请创建服务!
)
goto :eof
::删除
:RemoveMariaDB
echo.
::判断服务是否存在,errorlevel返回0存在,1不存在
sc query %SERVER_NAME% |findstr /i "%SERVER_NAME%">nul 2>nul
::echo errorlevel:%errorlevel%
if %errorlevel% EQU 0 (
::判断服务是否启动(如果是服务已启动,先停止再删除)
sc query %SERVER_NAME% |find /i "STOPPED">nul 2>nul
::echo errorlevel:%errorlevel%
for /F "tokens=3 delims=: " %%H in ('sc query %SERVER_NAME% ^| findstr "STATE"') do (
::echo %%H
if /I "%%H" EQU "STOPPED" (
%MARIADB_HOME%/mysqld --remove %SERVER_NAME%
) else if /I "%%H" EQU "RUNNING" (
net stop %SERVER_NAME%
%MARIADB_HOME%/mysqld --remove %SERVER_NAME%
)
)
) else (
echo 服务不存在!
)
goto :eof
::查看版本
:MariaDBVer
echo.
%MARIADB_HOME%/mysqld -v
goto :eof
::查看进程
:ShowMariaDB
echo.
tasklist|find /i "mysqld.exe"
goto :eof
::
:Line
echo.
echo #########################################################
echo.
echo.
——————————
如有不足请留言指正
相互学习,共同进步