Windows下忘记mysql密码,重新配置

Posted Muche

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下忘记mysql密码,重新配置相关的知识,希望对你有一定的参考价值。

Windows下忘记mysql密码,重新配置

问题:作死把Navicat里面的连接删除,然后再重新建立连接,结果出现这个:
enter description here

网上查了些资料,后面发现是自己的密码忘了,因此按照教程走一遍

  1. 先停掉sql服务,以便后续操作
    net stop mysql
    显示:
    服务名无效。
    请键入 NET HELPMSG 2185 以获得更多的帮助。
    enter description here

搜索后发现,是自己已经改过mysql名字
具体操作:

  • 输入services.msc
  • 找到mysql,发现名字变为了MySQL57
  • 输入net stop MySQL57
  • enter description here
  • enter description here
  1. 跳过验证,直接进入到mysql进行修改密码
    打开mysql安装目录:C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin>
    在标题栏直接输入cmd进入到对应的cmd窗口
    输入mysqld --skip-grant-tables

结果:提示失败(正常是这个窗口不能再输入了),如果是这样可以参考这篇博客的第二部分:2.需要重新设置root密码(忘记root密码)
https://blog.csdn.net/qq_36735409/article/details/78032144

另外解决办法
参考:https://www.cnblogs.com/zhiliang9408/p/9851939.html
主要的问题是找到这里面说的my.ini文件,开始怎么都没找到,后面用Evernote找到了,在C:\\ProgramData\\MySQL\\MySQL Server 5.7
在文档内搜索mysqld定位到[mysqld]文本段,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

  • 重启mysql:net start MySQL57

  • 输入:mysql -u root -p
    注意,这里的提示输入密码,直接回车即可
    输入:show databases;
    看下是否的确进入了mysql

  • 输入update user set password=password("jiayou7311") where user=\'root\';修改密码,结果:
    ERROR 1054 (42S22): Unknown column \'password\' in \'field list
    enter description here

原因:原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
输入:
update mysql.user set authentication_string=password(\'jiayou7311\');
修改成功
enter description here

  • 刷新:flush privileges;
    enter description here

  • 退出:quit
    enter description here

  • 把my.ini里添加的字段删除掉

  1. 重新登录
    mysql -u root -p
    成功:
    enter description here

以上是关于Windows下忘记mysql密码,重新配置的主要内容,如果未能解决你的问题,请参考以下文章

centos6.5下忘记mysql密码

linux下mysql的root密码忘记办法

mysql密码忘记,重新设置密码

Linux环境下mysql的root密码忘记解决方法

Mysql忘记密码如何修改

(--1--)在Linux环境下忘记mysql密码处理方法