按装完Mysql后,一顿操作后,在dos窗口下不需要密码就能登陆,但是客户端工具登陆不上

最近安装最新的mysql的过程中,最后一步安装居然失败了,进入lLog中查看失败提示如下:
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
安装失败的界面提示失败在Starting the server这一步。
在这里插入图片描述
解决方法:
这里提供最简单易行的解决方案,win+r打开运行,输入services.msc打开服务,找到安装MySQL时添加的服务名,一般8.0版本的MySQL默认是MySQL80,双击打开,登录选项卡下将选择的此账户改为选择本地系统账户,这是因为Mysql8.0启动需要系统账户权限(所以第二种方案就是去为Mysql添加系统权限即可,此处略)。
在这里插入图片描述
不过,博主我就没那么幸运,设置完上面的操作步骤后,确实在dos界面中使用命令
mysql -uroot -p,然后回车输入我们安装时设置的密码root居然进不去,直接给我整蒙了,这时候惯性思维,不用密码试了一下,居然能够进入mysql.但是我用SQLyog试了一下连接数据库,却发现连接不上,具体错误提示没截图。

于是乎我想着去改掉数据库密码,但是我发现use mysql后再执行update user set authentication_string=password('root') where user='root';,依旧没有卵用。这里介绍下没有用常规的update user set password=password('root') where user='root';来更改密码的原因是因为,mysql8.0或者MySQL 5.7及以上的版本已经不使用password来作为密码的字段了 而改成了authentication_string。
很显然我root用户的密码为空,只是不知道登陆密码,这时候我们只用在原有密码的情况下去修改密码即可,执行如下语句修改密码为root即可。

alter user 'root'@'localhost' identified by 'root';
flush privileges; #刷新权限

然后再dos窗口下就可以使用前面刚设置的密码登陆成功了。
但是发现客户端工具还是登陆失败,这时候我们再dos窗口下运行如下命令即可

alter user 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 

flush privileges;
alter user 'root'@'localhost' identified by 'root';

再用客户端工具试一下,就登陆成功了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶枫^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值