菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
186
0

mysql登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

原创
05/13 14:22
阅读数 49806


在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问

 

对于出现拒绝访问root用户的解决方案
错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问

首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);
解析的地方有两处:1.Access denied(拒绝访问);2.using password:NO/YES

 

一、出现access denied的原因有如下可能:

1)mysql的服务器停止:
  若MySQL已经没有启动,重启MySQL服务器:systemctl restart mysqld
2)用户的端口号或者IP导致:
  若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X
3)mysql的配置文件错误----my.ini等文件:
  my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释:https://blog.csdn.net/lienfeng6/article/details/78140404
4)root用户的密码错误(后面解决)

 

二、出现 using password的原因如下:

 

不输入密码:

错误的密码:

 

解决方案:
vim /etc/my.cnf文件;
在[mysqld]后添加skip-grant-tables(登录时跳过权限检查)

 

重启MySQL服务:sudo systemctl restart mysqld

修改密码

 

登录mysql,输入mysql –uroot –p;直接回车(Enter)

 

输入:set password for ‘root’@‘localhost’=password(‘Admin123@qwe’);

如果报:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

输入:flush privileges;

再次输入:set password for ‘root’@‘localhost’=password(‘Admin123@qwe’);

为避免麻烦,再次设置远程访问

退出:exit

 

再把my.ini的skip-grant-tables删除或者注释掉

重启MySQL:sudo systemctl restart mysqld

 

再次连接,成功

 

发表评论

0/200
186 点赞
0 评论
收藏