连接数据库出现错误:1045-Access denied for user ‘root‘@‘localhost‘

数据库突然连接不上;
一、停止MySQL,语句:net stop mysql
二、mysqld --skip-grant-tables启动 MySQL 服务的时候跳过权限表认证,如下图即可
这里注意,一定要是管理员模式
在这里插入图片描述
三、cmd打开新的窗口,输入mysql 回车,在输入use mysql回车,如下图
在这里插入图片描述
四、
1、如果你是忘记密码,则直接修改密码即可;键入命令:update mysql.user set authentication_string=password('123456');
123456是你要修改成的密码;
修改密码后刷新权限:flush privileges;

quit 退出
然后启动数据库:net start mysql;启动数据库前先关闭一开始另一个窗口的命令,直接关掉窗口即可,不然会提示服务无法启动;
再执行 mysql -u root -p 输入密码即可进入;步骤如下图

在这里插入图片描述

2、如果你的密码是正确的,则提示为;using password:YES(本人这次的问题)
在这里插入图片描述
查询登录用户的授权列表 select host, user from user;在这里插入图片描述
我是本地没登陆上,所以我直接执行第二条grant all privileges on *.* to 'root'@'localhost' identified by '123456';;执行后发现报错;百度了一下,发现这条语句改成grant all privileges on *.* to root@'%'identified by 'password';就可以了;
以下截图来自这篇文章:https://blog.csdn.net/qq_36735409/article/details/78032144
在这里插入图片描述
改了之后再查看,发现多了箭头部分
在这里插入图片描述
最后
quit 退出
然后启动数据库:net start mysql;启动数据库前先关闭一开始另一个窗口的命令,直接关掉窗口即可,不然会提示服务无法启动;
再执行 mysql -u root -p 输入密码即可进入成功
在这里插入图片描述

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值