当前位置: 首页 > article >正文

不知道MySQL密码怎么办?|不卸载重装的处理办法

在日常工作中,我们可能会遇到 MySQL 密码丢失的情况。这篇文章将会为大家详细讲解如何在 MySQL 密码丢失的情况下,通过跳过权限表来重置 MySQL 密码。

1. 停止 MySQL 服务

首先,我们需要停止 MySQL 服务,避免数据库正在运行时无法更改相关设置。可以通过以下命令停止 MySQL 服务:

sudo systemctl stop mysql

或者,如果你是使用的其他版本的 MySQL,可以使用:

sudo service mysql stop

2. 启动 MySQL 安全模式

接下来,我们启动 MySQL 的安全模式,跳过权限表,让我们可以直接登录 MySQL 进行修改。在安全模式下,MySQL 不会加载权限表,因此我们可以不需要密码直接进入 MySQL 命令行。

执行以下命令启动 MySQL 安全模式:

mysqld_safe --skip-grant-tables &

该命令会启动 MySQL 服务,并跳过授权表加载,允许我们在没有密码的情况下直接访问 MySQL。

注意:这个命令通常会在后台运行,因此你不需要等待它完成。

在某些系统(例如 Ubuntu 和其他基于 Debian 的发行版)中,mysqld_safe 可能并不存在或者路径不同。你可以尝试以下几种方法来解决这个问题:

  •  检查 mysqld_safe 是否存在

        运行以下命令查找它的位置:

sudo find / -name "mysqld_safe" 2>/dev/null

        如果它存在但路径不同,可以直接使用完整路径来启动,例如:

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
  • 使用 mysqld 替代

        如果没有 mysqld_safe,可以直接使用 mysqld 命令来跳过权限表验证:

sudo mysqld --skip-grant-tables &

3. 登录 MySQL

启动安全模式后,打开一个新的终端窗口,通过以下命令登录到 MySQL:

mysql -u root

此时无需密码即可登录到 MySQL 的命令行界面。

4. 重置密码

成功登录 MySQL 后,执行以下 SQL 命令来重置 root 用户的密码:

USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

如果你的 MySQL 版本不支持 authentication_string 字段,使用以下命令:

UPDATE mysql.user SET password=PASSWORD('your_new_password') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

在上述命令中,将 your_new_password 替换为你希望设置的新密码。

5. 停止 MySQL 安全模式

完成密码重置后,我们需要停止 MySQL 的安全模式。你可以通过查找 mysqld_safe 进程并停止它来完成。

使用以下命令查找 mysqld_safe 进程:

ps aux | grep mysqld_safe

找到 mysqld_safe 的进程 ID(PID),然后停止它:

sudo kill <PID>

6. 重启 MySQL 服务

停止安全模式进程后,重新启动 MySQL 服务以恢复正常操作:

sudo systemctl restart mysql

或者使用以下命令重启服务:

sudo service mysql restart

7. 使用新密码登录

现在,MySQL 已经恢复正常,您可以使用新密码登录了:

mysql -u root -p

系统会提示你输入新设置的密码,验证密码是否正确。

总结

以上就是解决 MySQL 密码丢失并重置密码的完整步骤。在没有密码的情况下,我们通过跳过权限表启动 MySQL,然后重置密码。重置后,确保恢复 MySQL 服务正常运行,并验证密码是否生效。


http://www.kler.cn/a/540576.html

相关文章:

  • 第三个Qt开发实例:利用之前已经开发好的LED驱动在Qt生成的界面中控制LED2的亮和灭
  • 前端页面添加水印
  • 用 DeepSeek + Kimi 自动做 PPT,效率起飞
  • 数据集成实例分享:金蝶云星空对接旺店通实现库存管理自动化
  • 常用的python库-安装与使用
  • python--sqlite
  • Unity-Mirror网络框架-从入门到精通之EdgegapLobby示例
  • 用大模型学大模型02-数学基础
  • Spring框架学习大纲
  • R 数组:高效数据处理的基础
  • python+open3d实现彩色点云的无堵塞动态可视化连续播放
  • YOLOv11实战海洋动物图像识别
  • matlab simulink 模拟光伏电池板在不同光照下的输出功率曲线
  • 集群服务 | 云微服务 | 快速入门
  • Pycharm使用Anaconda创建的不同conda环境
  • 03-DevOps-安装并初始化Gitlab
  • torch_bmm验算及代码测试
  • 38.社区信息管理系统(基于springboothtml)
  • windows10 wsa 安卓子系统终结版
  • 网络协议课程笔记上
  • AUTOSAR 4.2.2版本中Dem 操作循环(Operation Cycle)的开启和关闭
  • Python实现GO鹅优化算法优化支持向量机SVM回归模型项目实战
  • JSON是什么
  • 从零到一:基于Rook构建云原生Ceph存储的全面指南(上)
  • The 2024 ICPC Asia East Continent Online Contest (II) (6/9/12)
  • JDK8 stream API用法汇总