mysql登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)
·
服务器安装了mysql5.7后,想mysql -uroot -p登录,结果出现了Access denied for user ‘root’@‘localhost’ (using password: YES)(图1所示),意思就是使用密码登录被mysql数据库拒绝了,心想被女生拒绝还能忍,连mysql也拒绝我,然后就咔咔一顿操作解决了问题。

1.Access denied可能原因
1.1 mysql没有正确启动
解决办法:重启MySQL服务器:net start mysql
1.2 mysql的配置文件错误–my.ini等文件
解决办法:如果my.ini误输入,只能替换或者找出错误地方
1.3 root用户的密码错误
这是我们最常出现的问题,也是我出现的问题,下面会详细讲解我解决的过程
2. 修改my.ini配置文件,进行无密码登录
找到mysql安装目录下的my.ini文件,有些mysql的版本可能没有,也可以自己创建一个,打开my.ini文件后在[mysqld] #服务端基本设置下加上skip-grant-tables,就可以免密登录(图2所示)

3. 重启mysql,免密登录mysql
net stop mysql 关闭mysql;net start mysql 开启mysql即可实现重启mysql,输入mysql -uroot -p再次登录直接回车,不需要输入密码(图3所示)

4. 重新设置root用户密码
进入mysql后输入指令重置密码(图4所示),我的mysql是5.7版本输入:
update mysql.user set authentication_string=password("你的密码") where user="root";
mysql8输入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

4. 删除my.ini配置文件中skip-grant-tables,重新使用新密码登录mysql
我们重置密码后需要删除my.ini配置文件中skip-grant-tables,重新密码登录mysql就成功了(图5所示)

更多推荐
所有评论(0)