Mysql root 密码重置详解

文章目录

  • 1 概述
    • 1.1 前言
    • 1.2 mysql 版本查询
  • 2 windows 操作系统
    • 2.1 mysql 8 及以上版本
      • 2.1.1 关闭 mysql 服务
      • 2.1.2 通过无认证方式启动 mysql
      • 2.1.3 新开窗口,登录 mysql,重置密码

1 概述

1.1 前言

  • 不同的操作系统(如:windows、linux)、不同的 mysql 版本(如:mysql 5、mysql 8)解决办法略有不同
  • 以下为我工作中使用过的

1.2 mysql 版本查询

  • 方式1:打开运行窗口(win + R),输入 cmd,执行下列命令
> mysql -V

Mysql root 密码重置详解_第1张图片

  • 方式2:登录 mysql 数据库后,执行下列命令
> mysql -u root -p
> Enter password: ******
> 
mysql> select version(); 

Mysql root 密码重置详解_第2张图片

2 windows 操作系统

2.1 mysql 8 及以上版本

2.1.1 关闭 mysql 服务

  • 方式1:打开运行窗口(win + R),输入 cmd,执行下列命令
> net stop mysql
  • 方式2:服务 - 找到对应的 mysql 版本,右键启动、关闭
    Mysql root 密码重置详解_第3张图片

2.1.2 通过无认证方式启动 mysql

> mysqld --console --skip-grant-tables --shared-memory

2.1.3 新开窗口,登录 mysql,重置密码

  • 注意:重新打开一个 cmd 窗口(原窗口不要关闭)

1、登录 mysql

> mysql -u root -p
> -- 不输入密码,直接登录(回车键)
> 
> use mysql

2、将 root 的身份认证置为 空

> update user set authentication_string = '' where user = 'root';

3、重置 root 密码

  • 新密码:长度至少 8 位,大小写字母 + 数字,如:YoYo123456
> alter user 'loot'@'localhost' identified by '新密码';

若执行出现如下报错:
ERROR 1290 (HY000): The MySQL server is running with the–skip-grant-tables option so it cannot execute this statement
 
执行下列命令:
flush privileges

你可能感兴趣的:(MySQL,mysql,root,密码重置)