MySQL密码忘了怎么办?

来源:互联网 发布:oppor7plus定位软件 编辑:程序博客网 时间:2024/04/28 14:40

刚来公司时,我的这台电脑是前同事留下的,其中有很多项目,主管告诉我这台电脑里的东西都不要删。这是前提。

然后昨天在启动一个项目的时候需要数据库,这时我遇到了问题,给我电脑时开机密码告诉我是啥了,数据库密码没告诉啊。。我把桌面上这些东西全都翻遍了也没有有用的信息。

当然直接修改root密码是下策 ,我首先想试试如何知道密码是多少?于是参考了网上的一篇文章。

http://www.jb51.net/article/38473.htm

发现在输入命令taskkill /f /im mysqld-nt.exe时并不能按照预期终止进程,那么可能有两种原因:

  • 第一可能是环境变量没有设置好(我也懒得去查了),所以需要在Mysql的目录下执行
  • 第二可能是在启动命令提示符的时候没有用管理员权限

那么现在就假设这两种情况都包含,问题又来了,这电脑Mysql装在哪里了?
其实很简单,可以借助命令

select @@basedir as basePath from dual    

这里写图片描述

然后通过有管理员权限的命令提示符 输入上面文章中的命令
taskkill /f /im mysqld-nt.exe
正确结束进程

然后继续执行命令:
mysqld-nt --skip-grant-tables

这时再新打开一个命令提示符,当然为了以防万一我们还是直接用管理员权限打开。
输入命令:
mysql -u root

如果不想改密码,只是想看原来的密码的话。可以在命令行执行这个语句

select host,user,password from mysql.user;//即可查看到用户和密码

然后我们得到*B5178430570AD180E880BD5362872A49CD343F36这样一串密码,显然不对啊 于是去试着破解了一下查查原来是什么

这里写图片描述

结果挺令人失望,我难道要花钱去解密一个mysql5的密文只为了得到一个7位的root密码啊??

算了吧。。

如果要修改密码的话,在命令行下执行下面的语句

update mysql.user set password='这里填写你要设置的密码'  where user='root';

这里写图片描述

完成这些操作后,继续在命令行运行

taskkill /f /im mysqld-nt.exe;//安全着想,先结束,因为现在这样是可以用mysql -u root 直接登录的net start mysql;//启动mysql服务

至此就完成了。

这次这个密码不要忘记了。

原创粉丝点击