MySQL8.0/8.x忘记密码更改root密码的实战步骤(亲测有效!)

目录
  • 一、原理说明
  • 二、解决步骤
  • 总结

一、原理说明

1,authentication_string这是Mysql8.0新做出的修改,在旧版本中使用的是password()函数。

2,在网上找到的“mysql忘记密码”的解决方案中,大多会使用UPDATE user SET authentication_string="12345" WHERE user="root";来直接将密码改成12345,实际上这是错误的用法,authentication_string中存储的是密文,如果直接改为"12345"这样的明文会导致密码错误登录不上。

原因是服务器在验证身份时会先将用户输入的明文转为密文与数据库中的密文作对比验证是否匹配,而直接在本应放密文的地方放入明文显然不会让它们匹配成功。

3,在网上近似的搜索结果“mysql修改密码”中,会使用alter user root@localhost identified by '12345'来修改密码,这句命令在“跳过授权表”时是使用不了的,唯有正常模式下可以使用

4,才有了这样的解决方法,先将authentication_string变为空,毕竟空值的明文密文都是空值,用空密码进入mysql正常模式后再使用alter将密码改掉即可。

二、解决步骤

1,停止mysql服务

net stop mysql

2,输入命令,进入“跳过授权表”模式

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

3,上一个cmd窗口先放一旁,另开个管理员cmd窗口,输入mysql进入mysql服务

4,输入use mysql进入mysql数据库,再将authentication_string改为空

USE mysql;
UPDATE user SET authentication_string="" WHERE user="root";

5,刷新权限,退出

FLUSH privileges;
exit;

6,第一个cmd窗口中,使用ctrl+c退出“跳过授权表”模式,启动mysql服务

net start mysql

7,使用空密码进行登录,然后使用alter语句更新密码,刷新权限,退出

mysql -uroot -p
alter user root@localhost identified by '12345'
FLUSH privileges;
exit

8,尝试使用密码登录,成功。

总结

到此这篇关于MySQL8.0/8.x忘记密码更改root密码的文章就介绍到这了,更多相关MySQL8.x忘记密码更改root密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • mysql8.0.19忘记密码处理方法详解

    1在配置文件中添加skip-grant-tables后重启mysql,然后直接登录 [root@tyjs09 ~]# cat /etc/my.cnf [mysqld] user=mysql basedir=/application/mysql datadir=/data/mysql/data socket=/tmp/mysql.sock server_id=6 port=3306 gtid-mode=on enforce-gtid-consistency=true log_error=/data

  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法

    [背景] 最近学习碰到了一件挺令人尴尬的事情,我把MySQL的密码给忘记了,所以MySQL登录不进去. 网上的解决方案很多,尝试了很多,依旧是被窗口的各种报错虐.感谢大神的助力,MySQL忘记密码解决方案才得以清晰,希望本篇博客的解决过程可以帮到读者. [问题解决过程] 一.跳过MySQL的权限审查进入MySQL 首先,找到MySQL的my.ini配置文件. 然后,打开文件,在mysqld下,添加一句代码 skip-grant-tables ,以跳过权限的审核. 很重要的一步:win+R 输入s

  • mysql8.0忘记密码修改与net命令服务名无效问题

    cmd中输入net start mysql 提示:服务名无效 请进入MySQL的bin目录,并在bin目录打开命令行窗口,或设置系统环境变量,在命令行窗口输入:mysqld --install,回车,提示:Service successfully installed. 表示安装MySQL服务成功,命令行窗口输入:net start mysql ,可以正常启动 mysql8.0忘记密码修改: 亲测下面这个代码是可行的 明明在前面安装MySQL的时候有要你设置一个密码,但是其实那个密码貌似用不到,这

  • MySQL 8忘记密码的最佳处理方式浅析

    前言 对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净.在操作系统上,MySQL也支持多类型操作系统,如linux,windows等,如下为MySQL几个重大变化的操作系统. 通过研究分析,不难发现:MySQL从低版本向高版本迭代变化的过程,越来越严谨的安全性是其一大特点之一,我们举个例子,在版本6前,当忘记密码,重置密码,非常方面,只需使用执行如下两步即可: 步骤

  • mysql 8.0.18 压缩包安装及忘记密码重置所遇到的坑

    http://www.cppcns.com/shujuku/mysql/283231.html  也可以参照这个8.0.18安装方法 1.下载zip安装包(解压到指定文件夹) 1)从mysql官网下载安装包 2)点击进入,按下图所标顺序点击进入下载页面 3)下载红框所标压缩包(注意此处是64位的,要下载32位的话点击go to Download Page进行切换) 4)解压到指定文件夹(把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在G:\a

  • MySQL8下忘记密码后重置密码的办法(MySQL老方法不灵了)

    实测mysqld –skip-grant-tables这样的命令行,在mysql8中无法成功启动,而且测试了该参数放在ini文件里面也同样无法启动 MySQL的密码是存放在user表里面的,修改密码其实就是修改表中记录. 重置的思路是是想办法不用密码进入系统,然后用数据库命令修改表user中的密码记录. 查了下,MySQL5系统在网上建议的方法是以–skip-grant-tables参数启动mysql服务,该参数指示在启动时不加载授权表,因此启动成功后root用户可以空密码登陆 mysqld –

  • MySQL8忘记密码的快速解决方法

    前言 当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式. 方法如下: 1.以管理员身份打开命令行: 2.停止mysql服务: 3.输入以下命令无密码启动mysql,百度到的很多版本都是修改my.ini文件,但这个在版本8里面没有作用: mysqld --console --skip-grant-tables --shared-memory 4. 另开一个dos窗口,输入mysql -u root无密码登录:

  • mysql8.0忘记密码的详细解决方法

    目录 一.问题: 二:解决 1.关闭mysql服务 2.使用cd指令切换到mysql的bin目录 3.打开一个新的cmd窗口, 4.使用名为mysql的数据库,将对应user表的密码置空 5. 关闭以步骤2mysqld --console --skip-grant-tables --shared-memory打开的mysql服务(直接关掉窗口即可) 6. 重新开启mysql服务,实现无密码登陆了 7.修改密码 总结 一.问题: 太久没用mysql ,忘记了原先的root密码 二:解决 1.关闭m

  • Windows10系统下Mysql8.0.13忘记root密码的操作方法

    1.首先停止mysql服务 管理员身份开启CMD下命令关闭或者windows服务页面关闭 C:\Users\xxx>net stop mysql 管理员身份开启CMD页面,输入以下命令无密码启动mysql C:\Users\xxx>mysqld --console --skip-grant-tables --shared-memory 看到如下页面再开启新的CMD页面 在新的CMD页面输入如下 mysql> flush privileges; -- 修改权限 Query OK, 0 ro

  • mysql8.0.19忘记密码的完美解决方法

    推荐阅读:MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子) 1.打开cmd窗口(最好以管理员身份打开),net stop mysql 停止mysql服务 2.开启跳过验证密码的mysql服务 mysqld --console  --skip-grant-tables --shared-memory 3.打开一个新的cmd窗口,启动mysql服务 mysql -u root -p 4.输入密码直接空格键跳过 5.将密码置空 use mysql update user set aut

随机推荐