解决忘记密码报错ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘的办法

由于长时间没用登录mysql忘记密码报错,ERROR 1044 (42000): Access denied for user ‘’@‘localhost’ to database ‘mysql’,导致无法使用数据库时,可以采用如下办法:

  1. 关闭正在运行的mysql服务:计算机—>管理—>服务,找到mysql,右键选择停止。
  2. 在mysql/bin目录下打开DOS窗口:找到mysql/bin路径,在前面输入cmd+空格,如下图:
    在这里插入图片描述
    点击回车进入DOS窗口,如下图:
    在这里插入图片描述
    输入mysqld --skip-grant-tables,回车。(–skip-grant-tables 意思是启动mysql服务的时候跳过权限表认证)
  3. 再打开一个mysql/bin目录下的DOS窗口(因为刚在那个DOS窗口不能动了),输入mysql回车,将出现mysql提示符>
  4. 连接权限数据库,输入:use mysql; (加分号)
  5. 改密码:update user set password=password(“123”) where user=“root”;
  6. 刷新权限:flush privileges; (必须步骤)
  7. 退出:quit
  8. 重新打开DOS使用新的密码登录:mysql -uroot -p123,登录成功。如下图:
    在这里插入图片描述

版权声明:本文为qq_41721166原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。