mysql -u root -p 在输入密码后报错为:ERROR 版本为MySQL-5.7.33

m0_63879042 2023-03-09 17:42:28

我刚刚装好了mysql后.用mysql -u root登陆进去了.然后我修改了user表中的root的密码:
UPDATE user SET password='新密码' where user='root';
然后我重启了mysql.
后来用mysql -u root -p
在输入密码后报错为:ERROR 1045 (): Access denied for user: 'root@localhost' (Using password: YES)
这是怎么回事啊.
教教我吧.多谢

 

 

 

 

 

1.sudo修改 但是没有这个命令 但是可以用net stop mysql

我已经解决问题了,我是在以cmdMySQL的bin目录下进行mysqladmin命令对root进行设置密码然后root对localhost没有访问权限

我是基于window10 mysql-5.7.33版本对其进行修改

https://zhuanlan.zhihu.com/p/442759047知乎上找到方法

1 sudo命令无法使用 所以停止mysql服务使用 net stop mysql

2基于上个cmd窗口再新开窗口

以管理员身份新开cmd,进入mysql安装的bin目录后执行:

mysqld --console --skip-grant-tables --shared-memory

此时,命令行框会处于持续运行状态:

 

3、保持上述的窗口(切记),再以管理员身份新开cmd,执行:

mysql -uroot -p

这时就已经绕过密码登录进入mysql了。

4、接下来修改root的密码为空

UPDATE mysql.user SET authentication_string='' WHERE user='root';

5、此时关闭所有命令行界面,正常开启MySQL服务后进行登录,无需密码即可进入成功。

但是但是我又出问题

Can't connect to MySQL server on 'localhost' (10061)

即无法连接MySQL

然后我又不断尝试后发现用net start MySQL就可以重新无密码登录了

https://www.jb51.net/article/26505.htm

这个博主写的也非常不错

这是我第一次写帖子,还是站在各位前辈的肩膀上解决问题,在此对前辈们表示敬意

就这样 over

 

 

 

...全文
768 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuix7788 2024-01-27
  • 打赏
  • 举报
回复

少执行了FLUSH PRIVILEGES;语句,update执行后刷新下,不用重启mysql就可以登录

m0_63879042 2023-03-09
  • 打赏
  • 举报
回复

请问还有别的方法吗

memoried 2023-03-09
  • 打赏
  • 举报
回复 1

可能是因为你修改密码时没有刷新权限表,导致密码修改没有生效。你可以尝试以下步骤:
停止 MySQL 服务:sudo service mysql stop
以跳过权限表的方式启动 MySQL:sudo mysqld_safe --skip-grant-tables &
以管理员身份登录 MySQL:mysql -u root
刷新权限表:FLUSH PRIVILEGES;
修改密码:UPDATE user SET password='新密码' where user='root';
退出 MySQL:exit;
停止 MySQL 服务:sudo service mysql stop
重新启动 MySQL 服务:sudo service mysql start

m0_63879042 2023-03-09
  • 举报
回复
@memoried 谢谢你,但是cmd里说没有sudo这个命令

19,622

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧