mysql8.0版本下忘记密码时重置密码的方法

  1. 使用管理员权限打开cmd (搜索cmd, 右键点击"使用管理员身份运行")

  2. 命令行输入

    net stop mysql;
    

    运行后提示为

    MySQL 服务正在停止.
    MySQL 服务已成功停止。
    
  3. mysqld –skip-grant-tables实测在mysql8.0中已失效, 现在使用另一个指令:

    mysqld --console --skip-grant-tables --shared-memory
    
  4. 另外打开一个cmd, 此时使用mysql可以无密码登录了

    mysql -u root
    
  5. 8.0版本不允许在跳过策略 skip-grant-tables 时修改密码, 所以要先清空root用户的密码

    update user set authentication_string = '' where user = 'root'; 
    
  6. 然后通过空密码正常访问数据库

    mysql -u root -p
    
  7. 进入MySQL系统自带数据库: mysql数据库中, 执行更改密码语句

    mysql> use mysql;
    mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';
    

    mysql5.7以前的版本用 update user set password=password("新的密码") where user="root";

  8. 刷新权限后, 退出MySQL

    mysql> flush privileges;
    
    mysql> exit;
    

然后就可以使用新的密码登录数据库了

错误处理

can't connect to mysql server on 'localhost'

windows 主机:

右键点击我的电脑→菜单中点击管理→服务和应用程序→服务→找到MySQL服务, 查看其状态, 若没有正在运行, 右键点击该服务, 选择启用

posted on   元悕  阅读(245)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示

Powered by Yiting & Majiang