zoukankan      html  css  js  c++  java
  • mysql5.7.17忘记root密码如何解决(mysql ERROR 1045 (28000): 的解决办法)

    使用的是mysql5.7.17解压版,win7 64位系统。本教程的前提是能启动MySQL服务,但是旧密码已经不能登录,需要强制修改密码。

    (遇到MySQL服务启动不了的,可以参考:http://www.jb51.net/article/91778.htm

    1.修改配置文件my.ini,可以选择用记事本打开

    my.ini是自己拷贝了my-default.ini后重命名的。

    2.打开后,搜索mysqld关键字

    找到后,在mysqld下面添加skip-grant-tables,保存退出。

    PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下

    配置什么的可以不用去修改(现在是因为各种原因忘记root密码,或是MySQL服务启动不了,删除data文件夹后,重现出事后MySQL导致旧密码失效。要解决的是这个问题。)

    保证添加了这一行就行。

    重启MySQL服务,推荐的是用

    (也可以像有的教程一样,在cmd用命令行的方式去重启,可能会遇到MySQL

    服务无法启动的情况。)此时,如果MySQL服务启动不了,不要着急,重启windows系统就行。

    3.运行cmd,输入mysql -u root -p

    这时候提示你输入密码,直接回车就可以进入。

     

    1.进入mysql数据库:

    mysql> use mysql;

    提示Database changed

    2.给root用户设置新密码,蓝色部分自己输入:mysql> update user set password=password("123456") where user="root";

    (注意5.7.1的MySQL的user表中已经没有passwrod了,此时会提示

    ),新本的mysql的user表中的password字段已经改成了authentication_string 字段了。

    这时候,需要输入的命令是update user set authentication_string = password("123456") where user="root" ;

    提示Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0

    3.刷新数据库mysql> flush privileges;

    提示Query OK, 0 rows affected (0.01 sec)

    4.退出mysql:mysql> quit

    提示Bye

    PS:123456为新密码,用户可根据自己需要修改成自己的密码

    另外:

    如果想查看一下5.7.1修改密码之前存的旧密码:输入命令:select host,user,authentication_string from user;

    这是加密后的密码。

    如果想查看user表存的是什么,可以输入命令:describe user;

    看到是就会是这样:

    图没有截完,大家可以自己去试一下。

    参考:https://jingyan.baidu.com/article/3ea51489e6cfbe52e61bba25.html

         http://tieba.baidu.com/p/4084314018

  • 相关阅读:
    codevs2574 波兰表达式
    绿书模拟day10 单词前缀
    codevs2171 棋盘覆盖
    noip2008 双栈排序
    图论总结复习
    noip2010 关押罪犯
    flask使用geventwebsocket完成小型聊天系统
    MongoDB
    flask基础内容总览
    flask蓝图,cbv,python中的redis操作
  • 原文地址:https://www.cnblogs.com/hpcpp/p/7353985.html
Copyright © 2011-2022 走看看