MySQL Access denied for user ‘root‘@‘localhost‘ (using password: YES/NO) 的原因以及解决方案

MySQL Access denied for user ‘root‘@‘localhost‘ (using password: YES/NO) 的原因以及解决方案

意思为无权限使用root账号本地登录MySQL,就是密码校验未通过,括号内是:使用密码:是/不是。

(using password: NO)的情况如下图:
在这里插入图片描述

登录mysql的时候,我是没有输入密码直接回车的,因此,()内告诉我,我没有使用密码登陆,但这个数据库是需要密码校验的,校验并没有通过。登陆形式是root用户本地登陆。

(using password: YES)的情况如下图:
在这里插入图片描述
再次登录,我输入了一个错误的密码,因此,()内告诉我,我使用了密码,括号前告诉我,密码校验没有通过,登陆形式是root用户本地登陆。
首先,应该了解MySQL可以无密码登录的,但是,通常是使用密码校验的,因此,在执行登录命令:mysql -uroot -p 的时候,报错提示会记录你是否使用了密码,并且密码校验是否通过。

  • MySQL的登录分为远程登录和本地登录,localhost表示本地,通常的,安装完MySQL,root用户默认的拥有权限本地登录的,但远程登录权限是关闭的,这么做的目的是保护MySQL的安全(如果有人恶意的远程登录你的MySQL是不是很恐怖??)。

  • 那么,假设在一个正常的已安装完的MySQL,你如果输入的是不正确的密码,它就会报这个错了,原因就是密码错误,校验未通过,直到输入正确的密码,当然,密码不正确大部分是因为忘记了,因此,重置密码是比较快速的方案。
    解决方案根据MySQL的版本分两种,mysql5.6.5之前的版本算低版本,之后的版本为高版本(MySQL密码的记录方式改变了,导致更改密码的方式改变了)。

mysql5.6.5版本之前的更新重置密码操作:

1,停止MySQL服务,

停止的方式很多,按安装方式来说,yum 安装方式:systemctl stop mysql #systemd管理方式

二进制以及编译安装方式:service mysqld stop# chkconfig的管理方式,是centos6的方式,目前centos7还是兼容的

2,MySQL安全模式带忽略密码校验参数启动

mysqld_safe --skip-grant-tables --skip-networking& #后台运行模式,否则需要新开窗口,那就会多很多事了 ,对吧

3,无密码方式登录MySQL,SQL语句更新root密码,从而重置密码。(密码校验功能已关闭了)

update user set Password=PASSWORD(‘你要重置的新密码’) where user=‘root’;

flush privileges;#刷新权限表

4,正常模式启动MySQL,输入重置的密码,验证密码的正确性。

systemctl restart mysql#重启服务 或者 service mysqld restart#重启服务

mysql -uroot -p你的新密码 #-p后没有空格,直接接密码。正常进入MySQL表示密码更新完成。

mysql5.6.5版本之后的更新重置密码操作:

1,2,4步都和上面的一样,第三步需要改变一下:

update mysql.user set authentication_string=PASSWORD(‘你的新密码’) where USER=‘root’;

flush privileges;#刷新权限表

总结:

MySQL和mariadb版本比较多,高版本密码的设定需要改变,先停止MySQL服务,在进入安全模式是必须的,尽量不要修改my.cnf文件(很多别的文章就是修改my.cnf,这是不建议的行为,因为如果忘记修改回来会出大问题的。),权限表的刷新也别忘了,其实MySQL内的那个privilege表你也刷不坏,放心刷就行了 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值