【赵渝强老师】解决MySQL丢失root用户密码

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 本文介绍了MySQL数据库中用户密码存储的变化,以及如何通过特殊方法重置root用户的密码。从MySQL 5.7版本开始,密码字段由“password”改为“authentication_string”。文章详细列出了重置密码的步骤,并提供了相关代码示例和视频教程。

b069.png

在早期的MySQL数据库中,用户的密码是保存在“mysql.user”表中的“password”字段中。但是从MySQL 5.7版本开始“password”字段改成“authentication_string”字段。例如,下面的语句将查询MySQL中用户的密码。


mysql> select host,user,authentication_string from user;

# 输出的信息如下:
+--------------+------------------+------------------------------------------+
| host         | user             | authentication_string                    |
+--------------+------------------+------------------------------------------+
| %            | root             | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
| %            | user001          | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
| 192.168.79.% | myadmin          | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
| localhost    | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | mysql.session    | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | root             | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
+--------------+------------------+------------------------------------------+

   

对于root用户需码丢失这种问题,可以通过特殊方法登录,MySQL服务器,然后在root用户下重新设置登录密码。视频讲解如下:


(1)停止MySQL数据库服务。

systemctl stop mysqld


(2)编辑配置文件“/etc/my.cnf”,在[mysqld]块的末尾添加一行:

skip-grant-tables


(3)重启MySQL服务。

systemctl start mysqld


(4)直接登录MySQL。

mysql


(5)查询“mysql.user”表的信息。

mysql> use mysql;
mysql> select host, user, authentication_string from user;

# 输出的信息如下:
+--------------+------------------+------------------------------------------+
| host         | user             | authentication_string                    |
+--------------+------------------+------------------------------------------+
| %            | root             | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
| %            | user001          | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
| localhost    | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | mysql.session    | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALID...... |
| localhost    | root             | *DA9A17B9F8055D5C1C913421889357F6A35565F7|
+--------------+------------------+------------------------------------------+


(6)置空root用户的密码。

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


(7)刷新一下权限。

mysql> flush privileges;


(8)重新设置root用户的密码。

mysql> alter user 'root'@'%' identified by 'Weblogic_123'; 
mysql> alter user 'root'@'localhost' identified by 'Weblogic_123';


(9)退出MySQL命令行,使用新的密码登录MySQL。




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
存储 关系型数据库 MySQL
【赵渝强老师】执行MySQL的冷备份与冷恢复
冷备份是在数据库关闭状态下进行的备份,速度快且恢复简单,但备份期间数据库不可用。本文通过一个MySQL数据库的示例,详细演示了冷备份和恢复的步骤,包括备份文件、模拟错误、恢复数据等过程。
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
113 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
7天前
|
SQL 存储 缓存
【赵渝强老师】MySQL的体系架构
本文介绍了MySQL的体系架构,包括Server层的7个主要组件(Connectors、Connection Pool、Management Service & Utilities、SQL Interface、Parser、Optimizer、Query Caches & Buffers)及其作用,以及存储引擎层的支持情况,重点介绍了InnoDB存储引擎。文中还提供了相关图片和视频讲解。
【赵渝强老师】MySQL的体系架构
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的表空间
InnoDB是MySQL默认的存储引擎,主要由存储结构、内存结构和线程结构组成。其存储结构分为逻辑和物理两部分,逻辑存储结构包括表空间、段、区和页。表空间是InnoDB逻辑结构的最高层,所有数据都存放在其中。默认情况下,InnoDB有一个共享表空间ibdata1,用于存放撤销信息、系统事务信息等。启用参数`innodb_file_per_table`后,每张表的数据可以单独存放在一个表空间内,但撤销信息等仍存放在共享表空间中。
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的段、区和页
MySQL的InnoDB存储引擎逻辑存储结构与Oracle相似,包括表空间、段、区和页。表空间由段和页组成,段包括数据段、索引段等。区是1MB的连续空间,页是16KB的最小物理存储单位。InnoDB是面向行的存储引擎,每个页最多可存放7992行记录。
|
7天前
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
|
7天前
|
存储 缓存 关系型数据库
【赵渝强老师】MySQL的MyISAM存储引擎
在MySQL5.1版本之前,默认存储引擎为MyISAM。MyISAM管理非事务表,提供高速存储和检索,支持全文搜索。其特点包括不支持事务、表级锁定、读写互阻、仅缓存索引等。适用于读多、写少且对一致性要求不高的场景。示例代码展示了MyISAM存储引擎的基本操作。
|
7天前
|
安全 关系型数据库 MySQL
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
|
7天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的InnoDB存储引擎
InnoDB是MySQL的默认存储引擎,广泛应用于互联网公司。它支持事务、行级锁、外键和高效处理大量数据。InnoDB的主要特性包括解决不可重复读和幻读问题、高并发度、B+树索引等。其存储结构分为逻辑和物理两部分,内存结构类似Oracle的SGA和PGA,线程结构包括主线程、I/O线程和其他辅助线程。
【赵渝强老师】MySQL的InnoDB存储引擎
|
3天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的撤销日志文件和错误日志文件
本文介绍了MySQL的物理存储结构,重点讲解了InnoDB存储引擎中的撤销日志文件(undo log)和错误日志文件。从MySQL 8.0开始,默认生成两个10MB的undo表空间文件,并支持动态扩容和收缩。错误日志文件记录了MySQL启动、运行、关闭过程中的问题,通过示例展示了如何查看和使用这些日志。

相关产品

  • 云数据库 RDS MySQL 版