Linux 系统下忘记 MySQL root 密码如何解决

2025-01-15 00:09:43   小编

Linux 系统下忘记 MySQL root 密码如何解决

在 Linux 系统中使用 MySQL 时,忘记 root 密码是一个常见的问题。不过不用担心,通过一些简单的步骤,我们可以重新获取对 MySQL 的访问权限。

我们需要停止正在运行的 MySQL 服务。在不同的 Linux 发行版中,命令可能略有不同。对于 CentOS 系列,可以使用命令:systemctl stop mysqld;对于 Ubuntu 系列,则使用:service mysql stop

接下来,我们要以特殊模式启动 MySQL。在 CentOS 系统下,编辑 /etc/my.cnf 文件,在 [mysqld] 部分添加或修改一行:skip-grant-tables。这一行的作用是让 MySQL 在启动时跳过权限验证。保存并退出编辑器后,再次启动 MySQL 服务:systemctl start mysqld

现在,我们可以无需密码直接登录到 MySQL 数据库。在终端中输入:mysql -u root,此时不需要输入密码,直接回车即可进入 MySQL 命令行界面。

进入 MySQL 后,我们要修改 root 用户的密码。首先选择 mysql 数据库,使用命令:use mysql;。然后使用 UPDATE 语句来更新密码。对于 MySQL 8.0 及以上版本,密码存储在 user 表的 authentication_string 字段中,执行命令:UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';。如果是较旧版本,密码字段可能是 password,则命令为:UPDATE user SET password = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';

修改完成后,使用 FLUSH PRIVILEGES; 命令来刷新权限,确保新密码生效。

最后,我们需要恢复 MySQL 的正常启动模式。先退出 MySQL 命令行,使用 exit; 命令。然后编辑 /etc/my.cnf 文件,删除之前添加的 skip-grant-tables 这一行,保存并退出。接着重启 MySQL 服务,再次使用新密码登录 MySQL:mysql -u root -p,输入新密码后回车,若能成功登录,说明密码修改成功。

通过以上步骤,我们就成功解决了 Linux 系统下忘记 MySQL root 密码的问题,让数据库能够继续正常使用。

TAGS: MySQL Linux系统 root密码 密码解决

欢迎使用万千站长工具!

Welcome to www.zzTool.com