Mysql启动钱需要管理员方式运行才能启动,比较麻烦。
直接使用几条命令双击启动更方便。
一、普通版
新建文本文档输入以下内容保存后改后缀为.bat
启动命令
net stop MySQL
pause
关闭命令
net stop MySQL
pause
启动还是会变成拒绝访问,原因是因为没有以管理员方式运行
在启动命令和关闭命令前面分别加入如下命令,这一段是双击直接提示管理员方式运行。
@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
>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是否启动,如果已启动那么就会自动开启,在已启动的情况下再次双击会自动关闭。
在此处添加一行登录命令并删除exit命令能直接启动并输入密码登录
那么最终版应该是
@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