Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 390|回复: 0

Mysql5.7登录错误1045和1130的解决方法,亲测有用,希望能帮助到你们。

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-6-14 11:42:24 | 显示全部楼层 |阅读模式

    Mysql

    (针对Mysql5.7版本,其他版本可能略有不同)

    错误:1045

    解决方法:

    1. 以管理员身份运行cmd(win8系统:win+x 键 ,再按 A键 ),进入Mysql安装目录下的bin目录下(如下图所示,根据自己的情况修改目录)
      @:下面还要再打开cmd窗口,为方便区别,此窗口记为‘’ cmd-A ‘’窗口

    2. 运行net stop mysql ,停止Mysql服务

    3. 运行mysqld -nt --skip-grant-tables,使得在登录时可以跳过登录密码

      以上三步正常运行后该cmd窗口应该处于静止不动,光标闪烁的状态

    4. 打开另一个管理员的cmd窗口     @:此窗口记为‘’ cmd-B‘’窗口

    5. 运行mysql -uroot -p回车,出现Enter password:直接回车,成功进入了mysql

    6. 可以运行以下命令来修改密码:

      1. use mysql使用mysql数据库

      2. update user set authentication_string=password('mysqladmin') where user='root'; 更新root的密码为mysqladmin ,显示Query OK则修改成功。
        解释:更新 user表 使 authenticatio_string(密码)字段 = mysqladmin(password('') 是以密码保护的形式存储,在数据库看不见密码原文)  修改的是,user(字段)=root(值)的哪一行。

      3. 以上两步就可以修改密码成功。若你的mysql不是用authentication_string字段来存储密码。可以用以下方法来找到存储密码的字段。
      • show tables;查看当前数据库下的所有表
      • desc user查看user表的结构,在这一步你可以查看user表的字段,密码字段就在这里,不是mysql5.7版本的可以在“desc user”的结果下,自己判断哪个是密码字段

      • select host,user,authentication_string from user; 查看三列关于user表的信息,若你的密码字段不是authentication_string,可自行替换成你表中的密码字段名。

      • update user set authentication_string='mysqladmin' where user='root'; 不推荐,这种方式就是将密码明文不经过加密直接显示在数据库中。


     

    经过以上6步后,已经成功的修改了数据库登录密码。接下来是再次尝试登录。

    1. 关闭‘’cmd-A‘’窗口 (输入了skip-grant-tables的cmd)

    2. 关闭任务管理器中的进程mysql.exe(任务管理器->详细信息->进程->找到mysql.exe(大约占150M内存)->关闭)  

    3. 在‘’cmd-B‘’窗口中输入net start mysql

    4. 输入mysql -uroot -p,敲入新的用户名、密码 即可登录成功


     

    若还是不能登录,或出现错误1130。则是权限问题 (或 host问题),以下为权限为题的解决方法:

    错误:1130

    解决方法:

      1. 按以上方法跳过验证进入数据库

      2. mysql>中执行flush privileges刷新权限(不执行这步.会出现在skip-grant-tables模式下不能授权的问题)

      3. 执行grant all privileges on *.* to root@'localhost' identified by "mysqladmin";为root用户授权

      4. 关闭cmdmysql.exe进程,启动mysql服务net start mysql,重新登录mysql -uroot -p即可成功

     

    若还是不能解决,或有其他问题。可以评论留言,我会尽快回复。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-23 06:03 , Processed in 0.078762 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表