windows10系统下mysql8.0版本修改root账户密码

mysql8.0忘记密码

    • mysqld服务跳过验证授权表开启
    • 使用root账户连接数据库并重置密码为空
    • root账户密码由空进行修改

mysql8.0版本重置root账户密码,通过mysqld服务开启时跳过授权表,mysql账户可不通过密码连接数据库。本文参考以下文章,Windows下Mysql 8.0.17忘记root密码(重置密码)方法 、mysqld的选项参数、mysql启动参数(/etc/my.cnf)详解汇总,非常感谢。

mysqld服务跳过验证授权表开启

mysqld参数,console为发生错误时直接输出;skip-grant-tables为不通过授权表开启服务,这给了所有用户不使用密码访问所有数据表的权限;shared-memory为能使用共享内存。
windows10系统下mysql8.0版本修改root账户密码_第1张图片

  1. 关闭mysql服务
    // 关闭mysql服务
    net stop mysql
    
  2. 在cmd窗口中开启mysqld服务,其登录后不验证授权表
    // 开启跳过授权表的mysqld服务
    mysqld --console --skip-grant-tables --shared-memory
    

使用root账户连接数据库并重置密码为空

mysqld服务已在cmd窗口开启,另开窗口使用root账户连接数据库,重置数据库为空。
windows10系统下mysql8.0版本修改root账户密码_第2张图片

  1. 另开cmd窗口,使用root账户登录mysql,不验证密码
    // root账户连接mysql
    mysql -u root -p
    
  2. 在mysql数据库user数据表中root账户重置密码为空
    // root账户重置密码为空
    update user set authentication_string='' where user='root';
    
  3. quit命令关闭mysqld服务并关闭窗口,关闭root账户登录窗口

root账户密码由空进行修改

开启mysql服务,使用root账户连接数据库并重置密码
windows10系统下mysql8.0版本修改root账户密码_第3张图片

  1. 重开窗口开启mysql服务
    // 开启mysql服务
    net start mysql
    
  2. 重开窗口使用root账户连接数据库
    // 使用root账户连接数据库,密码已重置为空
    mysql -u root -p
    
  3. 并重置账户密码,刷新权限并退出连接,重新连接数据库
    // 重置root账户密码并刷新权限
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    flush privileges;
    

你可能感兴趣的:(mysql,mysql)