辛星整理MySQL常见错误之1045,通常是密码过期

来源:互联网 发布:建筑模型 知乎 编辑:程序博客网 时间:2024/04/29 19:26

      当我们登录MySQL数据库出现:Error 1045错误时,就表明你输入的用户名或密码错误被拒绝访问了。

     最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。

     解决的方法应该有多种,这里是一种操作简单的方法,适用于linux平台。 

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


解决方案:
1、  停止服务:停止MySQL服务;
2、  跳过验证:修改MySQL安装目录下的my.cnf配置文件,使登录时跳过权限检查;
3、  修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码;
4、  重启服务:将my.cnf文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。


 
Linux系统具体操作:
1、  停止服务:
执行:/etc/init.d/mysqlstop
(你的机器不一定是/etc/init.d/mysql也可能是/etc/init.d/mysqld,可以通过find命令查找)。
2、  跳过验证:
执行:/usr/local/mysql/bin/mysqld_safe  --skip-grant-tables >/dev/null 2>&1 &
(如果mysqld_safe的位置如果和不一样需要修改,如果不清楚可以用find命令查找)。
3、  修改密码:
执行:
/usr/local/mysql/bin/mysql -u root mysql      (登录mysql)
mysql> UPDATE userSET password=PASSWORD(‘newpswd’)WHERE user=’root’  (修改密码)
mysql>flush privileges     ( 刷新MySQL权限相关的表)
mysql>exit                         (退出MySQL)
4、  重启服务:
执行:
killall mysqld                      (杀死mysql进程)
/etc/init.d/mysql start      (启动mysql服务)

0 0
原创粉丝点击