MySQL数据库之一键重置mysql的root密码脚本
小标 2018-12-06 来源 : 阅读 1427 评论 0

摘要:本文主要向大家介绍了MySQL数据库之一键重置mysql的root密码脚本 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之一键重置mysql的root密码脚本 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

重置mysql的root密码方法有很多,本文介绍的这个是使用批处理来完成的

@echo off

 

title mysql

 

::从注册表找到Mysql的安装路径写入文件mysql.txt

reg query HKLM\SYSTEM\ControlSet001\Services\MySQL | find /I "ImagePath">C:\mysql.txt

if %errorlevel% neq 0 (

echo MySQL not found

pause

exit

)

 

::以”为分隔符,截取第二段内容保存到变量mysqlPath

FOR /F tokens^=2^ delims^=^" %%i in (C:\mysql.txt) do set mysqlPath=%%i

del C:\mysql.txt /f

 

::路径中/替换为\

set mysqlPath=%mysqlPath:/=\%

 

::删除路径最后一个字符(该字符不可见,可能是回车换行之类的)

set mysqlPath=%mysqlPath:~0,-1%

 

:BACKTOMAIN

 

::取得路径最后一个字符看等不等于\

set character=%mysqlPath:~-1,1%

 

::如果最后一个字符不等于\,那么跳转到GETPATH删除mysqlPath的最后一个字符

if not %character% == \ goto GETPATH

 

::进入mysql安装路径C:\Program Files\MySQL\MySQL Server 5.0\bin

cd /d "%mysqlPath%"

 

::echo %mysqlPath%

 

if %errorlevel% neq 0 (

echo MySQL not found

pause

exit

) www.jb51.net

 

::禁用mysql服务,跳过权限验证修改密码

taskkill /F /IM mysqld-nt.exe

net stop mysql >nul

start /b mysqld-nt --skip-grant-tables

ping -n 2 127.0.0.1 >nul

echo use mysql >c:\config.tmp

echo update user set password=password("") where user="root";>>C:\config.tmp

echo flush privileges; >>C:\config.tmp

echo exit >>C:\config.tmp

 

::因为是交互式,所以从文件读取内容

mysql <C:\config.tmp

taskkill /F /IM mysqld-nt.exe

net stop mysql >nul

net start mysql

del C:\config.tmp /F

pause

exit

 

::删除路径最后一个字符,跳回主程序

:GETPATH

set mysqlPath=%mysqlPath:~0,-1%

goto BACKTOMAIN

如果是用wamp一键安装需要改一些脚本,主要是注册表搜索路径改变,返回值改变,服务名改变了,mysql安装路径变成D:\wamp\bin\mysql\mysql5.5.24\bin,少了mysqld-nt这个东西,进程里面也没有mysqld-nt.exe

@echo off

 

title mysql

 

reg query HKLM\SYSTEM\ControlSet001\Services\wampmysqld | find /I "ImagePath">C:\mysql.txt

 

if %errorlevel% neq 0 (

echo MySQL not found

pause

exit

)

 

FOR /F "tokens=3 delims= " %%i in (C:\mysql.txt) do set mysqlPath=%%i

del C:\mysql.txt /f

set mysqlPath=%mysqlPath:/=\%

set mysqlPath=%mysqlPath:~0,-1%

 

:BACKTOMAIN

set character=%mysqlPath:~-1,1%

if not %character% == \ goto GETPATH

cd /d "%mysqlPath%"

 

::echo %mysqlPath%

 

if %errorlevel% neq 0 (

echo MySQL not found

pause

exit

)

 

taskkill /F /IM mysqld.exe

net stop wampmysqld >nul

start /b mysqld -nt --skip-grant-tables

ping -n 2 127.0.0.1 >nul

echo use mysql >c:\config.tmp

echo update user set password=password("") where user="root";>>C:\config.tmp

echo flush privileges; >>C:\config.tmp

echo exit >>C:\config.tmp

 

mysql <C:\config.tmp

 

taskkill /F /IM mysqld.exe

net stop wampmysqld >nul

net start wampmysqld

del C:\config.tmp /F

 

pause

exit

 

:GETPATH

set mysqlPath=%mysqlPath:~0,-1%

goto BACKTOMAIN

   

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程