mysql5.7报Access denied for xxx@localhost 的解决

Posted errorplayer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql5.7报Access denied for xxx@localhost 的解决相关的知识,希望对你有一定的参考价值。

使用root用户登录mysql数据库若如下报错

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

我使用的是阿里云新出的轻量应用服务器,选择的预装应用为 LAMP6.1.0,数据库是mysql5.7

解决方案:

在终端A 进入root用户:

1.执行命令   systemctl stop mysqld     停止mysql服务

2.找到你的mysql命令路径   mysqld_safe --skip-grant-tables   (注意:执行后会卡在终端A上)

在终端B 也进入root用户:

3.找到你的mysql命令路径,直接   mysql     就可以进入数据库了

4.在mysql执行命令    use mysql;  切换进入mysql这个数据库

5.在数据库mysql内,执行命令  

update user set authentication_string=password("123456") where User="root" and Host = "localhost";

更改root密码为123456,注意authentication_string 是我5.7版的密码字段,有些同学的mysql的密码字段可能仍是password,究竟是哪个请 select columns from user; 查一下。并且我5.7版的user表是双键User和Host,所以必须同时where两个字段否则报错;而有些同学的可以不用Host这个字段所以你可以试一下。因此下面是网上比较流传的版本:

 update user set password=password("123456") where user="root"; 

6.在mysql执行命令   flush privileges;  使配置参数生效

7.退出数据库  exit;  or   quit; 

8. systemctl restart mysqld  启动数据库

9.你就可以使用root 123456登录数据库啦!!!

以上是关于mysql5.7报Access denied for xxx@localhost 的解决的主要内容,如果未能解决你的问题,请参考以下文章

mac下安装mysql5.7.18,连接出现Access denied for user 'root'@'localhost' (using password: YES

mac下安装mysql5.7.18,连接出现Access denied for user 'root'@'localhost' (using password: YES

mac下,mysql5.7.18连接出错,错误信息为:Access denied for user 'root'@'localhost' (using password

安装mysql后连接出错(错误:Access denied for user 'root'@'localhost' (using password: YES)"

使用 TortoiseGit 时,报 Access denied 错误

CentOS搭建apache,总是报错:(13)Permission denied: file permissions deny server access