zoukankan      html  css  js  c++  java
  • mysql8.0以上版本修改密码问题记录

    参考链接:

    https://blog.csdn.net/qq_27820551/article/details/101488430

    https://blog.csdn.net/mukouping82/article/details/81105831

    1、以管理员身份运行cmd,进入到mysql安装的bin目录下

    2、先关闭mysql服务 net stop mysql,紧接着执行 mysqld --console --skip-grant-tables --shared-memory (为了跳过登录进入mysql)

    在这一步的时候我遇到的问题是执行完命令后打印以下内容

    2020-02-10T20:21:30.946001Z 0 [System] [MY-010116] [Server] C:Program FilesMySQLMySQL Server 8.0inmysqld.exe (mysqld 8.0.19) starting as process 11760
    2020-02-10T20:21:30.983631Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
    2020-02-10T20:21:30.986677Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
    2020-02-10T20:21:30.988397Z 0 [ERROR] [MY-010119] [Server] Aborting
    2020-02-10T20:21:30.990846Z 0 [System] [MY-010910] [Server] C:Program FilesMySQLMySQL Server 8.0inmysqld.exe: Shutdown complete (mysqld 8.0.19)  MySQL Community Server - GPL.

    解决方案:

    1.删除自己手动创建的data文件夹;
    
    2.管理员权限cmd的bin目录下,移除已错误安装的mysqld服务;
    
    C:Program FilesMySQLMySQL Server 8.0in>mysqld -remove MySQL The service doesn't exist! 

    3.在cmd的bin目录下执行mysqld --initialize-insecure 会发现程序在mysql的根目录下自动创建了data文件夹以及相关的文件

    4.bin目录下执行mysqld -install Service successfully installed.

    5.bin目录下执行mysql服务启动net start mysql

    循环第1,2步,正常输出

     3、以管理员身份新打开一个cmd,上面那个不要关闭。执行   mysql -uroot -p    就能免密进入

    4、修改密码(这里需要注意mysql8.0以上版本修改密码方式与以前版本不同,密码格式要求至少包含了数字、字母及特殊字符三种

     使用以前的方式(update user set password=password('123456') where user='root')修改密码时会修改失败,会提示:Found invalid password for user: 'root@localhost'; Ignoring user

    1)  use mysql;
    2)  update user set authentication_string='' where user='root';// 如果这个字段有值,先置为空,之前的版本密码字段是password
    3)  flush privileges;// 刷新权限表
    4)  执行select user,host from user;// 查看用户及host,方便后续修改
    5)  ALTER user 'root'@'%' IDENTIFIED BY 'root@123';// 修改root 密码
    6) exit;//退出mysql

    5、数据库密码加密方修改

    # 数据库密码加密规则还原成mysql_native_password
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root@123';
    # 刷新权限
    FLUSH PRIVILEGES;
    # 再查询用户及加密方式已修改
    select host, user, plugin from user;

    6、重启mysql服务,密码重置成功。

  • 相关阅读:
    C#获取Word文档页数,并跳转到指定的页面获取页面信息
    GC 垃圾回收
    Open Flash Chart 之线图
    Open Flash Chart 之线图(二)
    Nullable可空类型
    System.AppDomain类
    C# 事件
    C#方法的参数 Ref Out Params 4种类型的参数
    单向链表
    C# 结构体 struct
  • 原文地址:https://www.cnblogs.com/xsshu/p/12293128.html
Copyright © 2011-2022 走看看