欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql:mysql error:Access denied for user 'root'@'localhost' (using password: YES)

程序员文章站 2022-07-14 20:24:08
...

      在给服务器添加用户的时候,一不小心添加主机名错误。我直接把ip给添加上去了,这就十分尴尬了,然后在修改的时候碰到了这个问题,记录一下。

一、mysql添加用户时的操作:

insert into mysql.user(Host,User,Password) values(“localhost”,”username”,password(“pwd”)); 

      这边需要注意,Host对应的是localhost,不是服务器的ip,不然会造成登不上的情况

2、修改用户主机名的时候报错:

mysql error:Access denied for user 'root'@'localhost' (using password: YES)

原因:
1. 用户名、密码错误,所以无法访问
2. 数据库端设置了IP访问权限,不能用localhost访问。换成具体的IP地址试试。
3. 数据库端设置了相关操作权限,该用户没有create权限。

解决方案:

mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';

第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。

参考链接:https://zhidao.baidu.com/question/468701332.html

end