MySQL密码忘记的解决方案

用php的时候不小心在phpAdmain里把root的密码给改了,而php用的加密算法估计与mysql用的不是一个,导致再进入mysql的时候总是说密码错误。在网上看了好多关于忘记mysql密码的帖子,可能针对不同的情况解决方法上略有差异,不能只看一种说法。针对我这种情况,我是这样解决的:

1.打开cmd命令行,输入 net stop mysql

   停止当前的mysql服务。

2.跳到mysql安装目录下的bin目录下,输入 mysqld --skip-grant-tables

   意思是现在可以不用密码登录了。

   第一种方法:这时候可以打开mysql的命令行端,打开后是这样:

  这时候不用输入密码就可以进去。对mysql数据库的user表的root用户输入修改命令就可以了。不过我试着这种方法总是不好用,即便修改了,还是不能进去。

  第二种方法:针对安装了SQLyog的用户,有了这个可视化界面,一切的操作都变得简单了。直接用这个工具打开MySQL数据库,找到mysql库下的user表,查看表数据可以看到所有用户的情况,由于对用户密码都是进行加密了的,所以不要再表里直接改密码,那样还是进不去。先把root的密码删了,这样以后不用再敲入“mysqld --skip-grant-tables”命令也可以不用密码登录,但是这样不安全,所以还是要有密码。在SQLyog中这样操作:

单击工具栏中上面红圈中的图标,打开用户管理对话框:

在这里直接在password框和它右边的框中输入同样的你想要修改的密码后保存就行了。这时候再打开user表就可以看到加密后的密码的一串字符串啦。

接下来也是很重要的一个步骤,再次打开cmd命令行,输入 net stop mysql,关闭现在不用密码就能登录的状况。然后再输入net start mysql启动服务就哦啦。

希望能帮到跟我一样状况的朋友。

原文地址:https://www.cnblogs.com/lihuiyy/p/2740565.html