服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL8.0/8.x忘记密码更改root密码的实战步骤(亲测有效!)

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

2023-04-12 15:38自知. Mysql

忘记root密码的场景还是比较常见的,特别是自己搭的测试环境经过好久没用过时,很容易记不得当时设置的密码,下面这篇文章主要给大家介绍了关于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"这样的明文会导致密码错误登录不上。

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

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

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

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

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

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

 

二、解决步骤

1,停止mysql服务

?
1
net stop mysql

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

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

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

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

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

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

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

?
1
2
USE mysql;
UPDATE user SET authentication_string="" WHERE user="root";

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

5,刷新权限,退出

?
1
2
FLUSH privileges;
exit;

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

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

?
1
net start mysql

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

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

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

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

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

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

 

总结 

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

原文链接:https://blog.csdn.net/ON_Zero/article/details/128509602

延伸 · 阅读

精彩推荐
  • Mysqlmysql实现查询最接近的记录数据示例

    mysql实现查询最接近的记录数据示例

    本文实例讲述了mysql实现查询最接近的记录数据。分享给大家供大家参考,具体如下: 查询场景: 现在的需求是查询年龄最接近20岁的用户,获取前5个 我...

    CyborgLin4152019-07-02
  • Mysqlmysql 数据类型TIMESTAMP

    mysql 数据类型TIMESTAMP

    timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间 ...

    whsnow4502020-04-11
  • MysqlMySQL常用类型转换函数总结(推荐)

    MySQL常用类型转换函数总结(推荐)

    这篇文章主要介绍了MySQL常用类型转换函数总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    其实我是一演员3112020-09-22
  • MysqlMySQL中UPDATE与DELETE语句的使用教程

    MySQL中UPDATE与DELETE语句的使用教程

    这篇文章主要介绍了MySQL中UPDATE与DELETE语句的使用教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下 ...

    MYSQL教程网5522020-05-27
  • MysqlSQL窗口函数OVER用法实例整理

    SQL窗口函数OVER用法实例整理

    做SQL题时碰到了over()函数不太理解,所以整理了下,下面这篇文章主要给大家介绍了关于SQL窗口函数OVER用法的相关资料,文中通过实例代码介绍的非常详细,需...

    BeKnown7822022-08-26
  • Mysql在MySQL中删除表的操作教程

    在MySQL中删除表的操作教程

    这篇文章主要介绍了在MySQL中删除表的操作教程,是MySQ入门学习中的基础知识,需要的朋友可以参考下 ...

    MYSQL教程网3062020-05-08
  • MysqlMySQL如何插入Emoji表情

    MySQL如何插入Emoji表情

    这篇文章主要介绍了MySQL如何插入Emoji表情,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下...

    神奇的程序员6112021-03-14
  • MysqlLinux下安装mysql的教程详解

    Linux下安装mysql的教程详解

    这篇文章主要介绍了Linux下安装mysql的教程详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    5302019-06-15