Mysql启动钱需要管理员方式运行才能启动,比较麻烦。

直接使用几条命令双击启动更方便。

一、普通版

       新建文本文档输入以下内容保存后改后缀为.bat

       启动命令

用批处理执行Mysql启动和关闭服务

net stop MySQL
pause

     关闭命令

用批处理执行Mysql启动和关闭服务

net stop MySQL
pause

     启动还是会变成拒绝访问,原因是因为没有以管理员方式运行

用批处理执行Mysql启动和关闭服务

      在启动命令和关闭命令前面分别加入如下命令,这一段是双击直接提示管理员方式运行。


@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

于是内容就变成了这样,关闭命令也这样填写。

用批处理执行Mysql启动和关闭服务       双击启动会直接提示管理员方式启动,省去了右键-管理员方式的步骤。

二、更好的批处理运行方式。

        还是新建文本文档输入以下内容

        注:此代码来自脚本之家,自己加了条管理员运行方式命令以及一些新增功能

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

@echo off
for /f "skip=3 tokens=4" %%i in ('sc query mysql') do set "zt=%%i" &goto :next
 
:next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行,正在已经关闭服务
net stop mysql
) else (
echo 该服务现在处理停止状态,正在现在开启服务
net start mysql
)
exit
pause

      此方式更方便 双击启动后会检测Mysql是否启动,如果已启动那么就会自动开启,在已启动的情况下再次双击会自动关闭。

用批处理执行Mysql启动和关闭服务

用批处理执行Mysql启动和关闭服务

      在此处添加一行登录命令并删除exit命令能直接启动并输入密码登录

用批处理执行Mysql启动和关闭服务

      那么最终版应该是

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

@echo off
for /f "skip=3 tokens=4" %%i in ('sc query mysql') do set "zt=%%i" &goto :next
 
:next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行,正在已经关闭服务
net stop mysql
exit
) else (
echo 该服务现在处理停止状态,正在现在开启服务
net start mysql
mysql -u root -p
)
pause

相关文章: