2014-07-13 16:01:52
来 源
中存储网
mysqlcmd
MySQL作为小型数据库,轻便快捷,适合C/S,网站,小项目。但是也有一个烦恼,就是忘记root密码不能进入。怎么办?重装?,ok,但是如果卸载的时候没有卸载干净,重装都装不上。windows默认的添加删除程序工具是不能卸载干净的,还得用专门的清理软件,清理M

MySQL作为小型数据库,轻便快捷,适合C/S,网站,小项目。但是也有一个烦恼,就是忘记root密码不能进入。怎么办?重装?,ok,但是如果卸载的时候没有卸载干净,重装都装不上。windows默认的添加删除程序工具是不能卸载干净的,还得用专门的清理软件,清理MySQL在各个目录下的临时文件,删除注册表,然后才可以安装上去,不然安装到最后一步挂起。

我查的另外一种方法:

1、 首先停止MySQL服务。

2、 运行cmd, cd C:Program FilesMySQLMySQL Server 5.5bin /注:进入MySQL安装目录的bin目录下mysqld —skip-grant-tables 回车

3、 重新打开一个cmd, 输入mysql -u root -p 两次回车,

update mysql.user set password=PASSWORD('新密码') where user='root';

flush privileges;

4、在任务管理器中结束MySQLd进程,重新启动MySQL服务

5、在MySQL 5.5 command line client 中重新授权

grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;

flush privileges;

/注:在MySQL command line client 中输入每句话必需以分号结尾.

好方法啊,确实有效,但是需要手动操作4步,还要输入各种命令,万一输错了又要重新输入。能不能做个全自动化的程序来修改root密码呢?本人思考了一下,觉得其实每个步骤都可以写一行命令,做成一个批处理。默认就把密码重置为123456吧,思路如下:

1、停止MySQL服务:net stop MySQL

2、进入sql安装文件bin目录:CD /d C:Program FilesMySQLMySQL Server 5.5bin

3、mysqld --skip-grant-tables

4、写一个pwd.sql的脚本,用来修改密码为123456,内容为:update mysql.user set password=PASSWORD('123456') where user='root';

flush privileges;

5、结束MySQLd进程:taskkill /f /t /im mysqld.exe

6、重新启动MySQL服务:net start MySQL

7、mysqld -u root -p

8、再写一个grant.sql的脚本,用来重新授权。内容为:grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

9、MySQL -h localhost -u root -p123456

为了方便,需要将pwd.sql和grant.sql数据库脚本放在一个文件夹里,在此放在C:new下面,方便调用。然后保存批处理,跟脚本也放到一起,方便打包运行。

但是测试的时候有一个问题,运行不成功。仔细检查,看手动步骤第3步,需要重新启动一个cmd窗口,也就是说,此操作太复杂,一个批处理不能完成的,需要再开启一个批处理,一起完成这个任务。于是我把批处理分成2部分。1、2、3放在一个批处理里,取名start.bat,5、6、7、9放在一个批处理里面,取名end.bat,4、8是制作脚本。

测试开始,先运行start,服务停止,后面不动了,不要关闭窗口。再运行第二个批处理end.bat。果然成功了。目录如下。

MySQL5.5一键重设密码教程 - 随风 - 雪饮狂刀

于是打包,做成了一个winrar自解压程序,自动解压到C:new,然后依次运行start.bat再运行end.bat.程序运行很成功,无论MySQL设的什么密码运行此程序后都会将密码重设为123456。大家千万不要误以为是MySQL有重大bug,本人只不过是将手动修改root密码做成了全自动化,MySQL还是很安全的。在此,一个史无前例的MySQL5.5密码重置工具制作成功,只花了几个小时。之前也想借鉴前辈,结果在网上看到的都是MySQL5.5以下的批处理,不适合MySQL5.5及以上。为了MySQL这个项目的上线,所以自己写一个小程序,没有涉及delphi或者C++汇编等高级语言(使用高级语言程序更复杂),因此贡献与大家。

后记,经过继续思考,本人重新设计了一个程序,可以随意设置MySQL5.5的密码。本人还写了几个跟MySQL有关的小工具,使用MySQL再也不用担心密码或者重装挂起等问题。链接如下:

一键解决MySQL安装挂起http://dl.vmall.com/c06a2wrxn2

一键重置MySQL密码最新http://dl.vmall.com/c0bowiib46

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。