首页 / 服务器推荐 / 正文
Linux忘记MySQL密码的恢复方法详解

Time:2025年01月06日 Read:6 评论:42 作者:y21dr45

在Linux系统上管理MySQL数据库时,有时可能会遇到忘记MySQL root用户密码的情况,这种情况虽然令人头疼,但幸运的是,通过一些步骤可以重置密码,从而重新获得对数据库的访问权限,本文将详细介绍如何在Linux环境下恢复或重置忘记的MySQL密码。

Linux忘记MySQL密码的恢复方法详解

一、准备工作

确保你有服务器的root权限:因为修改MySQL配置和重启服务需要超级用户权限。

停止当前运行中的MySQL服务:为了避免数据不一致等问题,在进行任何操作之前,请先安全地关闭MySQL服务,可以使用以下命令来停止服务(具体命令可能因发行版而异):

- 对于基于Systemd的系统(如CentOS 7+, Ubuntu 16.04 LTS及以后版本):systemctl stop mysqld

- 对于较旧版本的Linux或者使用init.d管理的系统:service mysql stop

二、跳过权限表启动MySQL

我们需要以一种安全模式启动MySQL服务器,即跳过授权表检查,这样可以直接登录到MySQL而不被密码限制所阻碍。

1、编辑my.cnf文件:找到并打开MySQL的主要配置文件/etc/my.cnf/etc/mysql/my.cnf(路径取决于您的安装方式),在该文件中找到[mysqld]部分,并在其中添加一行skip-grant-tables,如果找不到这个部分,则自行创建一个新的段落。

   [mysqld]
   skip-grant-tables

2、保存更改并退出编辑器:完成后记得保存文件并关闭编辑器窗口。

3、重新启动MySQL服务:根据您使用的操作系统类型选择合适的方法重启MySQL服务,对于大多数现代Linux发行版来说,执行如下命令即可:

- Systemd系统:systemctl start mysqld

- SysVinit系统:service mysql start

三、登录MySQL并修改密码

现在您可以无需输入密码就能连接到MySQL控制台了,打开终端窗口,输入以下命令进入MySQL交互式界面:

mysql -u root

一旦进入MySQL命令行界面后,按照下面的步骤操作以更改root用户的密码:

1、选择正确的数据库:首先切换到mysql这个特殊的数据库,它存储了所有用户账户的信息。

   USE mysql;

2、更新root用户的认证字符串:假设你知道当前的密码哈希值(通常是很长的一串随机字符),可以直接更新;否则可以选择生成一个新的随机字符串作为新密码,这里我们演示如何设置一个简单明了的新密码“newpassword”。

   ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

注意:请根据实际情况调整上述SQL语句中的用户名、主机名以及希望设定的新密码。

3、刷新权限使其生效:为了让刚才所做的更改立即生效,还需运行下面这条指令:

   FLUSH PRIVILEGES;

4、退出MySQL会话:完成以上步骤后,可以通过输入exit;离开MySQL shell。

四、移除跳过授权表选项并重启服务

最后一步是恢复原来的配置设置,并重新启动MySQL服务以确保一切正常工作。

1、删除或注释掉之前添加的那一行代码:再次打开之前修改过的my.cnf配置文件,找到之前加入的skip-grant-tables行并将其删除或加上注释符号(#)使其失效。

2、保存更改并关闭文件

3、重启MySQL服务:同样地,根据您所使用的Linux版本采取相应措施重新启动MySQL进程。

- Systemd系统:systemctl restart mysqld

- SysVinit系统:service mysql restart

经过这几个简单的步骤之后,您应该已经成功找回了对MySQL数据库的控制权,并且能够使用新的密码正常登录了,希望这篇文章能帮助到正在面临类似问题的朋友们!不过值得注意的是,定期备份重要数据总是一个好的习惯,以防万一出现意外情况导致数据丢失。

排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1