当前位置:   article > 正文

mysql错误码1045解决方案_mysql 1045

mysql 1045

数据库连接工具访问提示 1045的错误码,在命令行输入mysql -u root –p,输入密码,经常出现下面的错误信息,相信该错误信息很多人在使用mysql时都遇到过。

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

用的好好的怎么突然就有这个错了,下面是解决方案,后面会列举问题原因。

1、停止MySQL服务

# windows
net stop mysql 
# linux
service mysqld stop
  • 1
  • 2
  • 3
  • 4

2、修改配置文件,跳过验证

修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查;

#到mysql根目录找到mysql配置文件 
vim my.ini
#在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查
skip_grant_tables
  • 1
  • 2
  • 3
  • 4

3、重启mysql服务,修改密码

启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。

#登录mysql
mysql -u root -p
  • 1
  • 2

然后通过SQL语句修改root用户的密码;

#将数据库切换至mysql库
mysql> USE mysql;
#修改密码
mysql> UPDATE user SET password=PASSWORD(‘newpasswd')WHERE user='root'; 
#刷新MySQL权限相关的表
mysql> flush privileges;
mysql> exit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4、重启服务

将my.ini文件中加入的跳过权限语句删除或加#号注释。

重启服务,使用修改后的密码登录即可。

5、问题分析

使用root用户登录MySQL,查看user表中的用户信息如下,可以发现host的字段分别为%和localhost。

mysql>select host,userfrom user;
  • 1

在这里插入图片描述
我这里遇到的问题是%号的这条数据权限没了, 修改一下即可,不用强制修改密码,因为之前一直用的好好的, 如果你遇到这样的问题,希望能给你一点参考。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/910734
推荐阅读
相关标签
  

闽ICP备14008679号