Administrator
Administrator
发布于 2026-07-16 / 0 阅读
0
0

Linux 下 MySQL Root 密码重置记录

在开发AI模拟面试系统的后端时,因为忘记了本地 Linux 环境下的 MySQL root 密码,导致 Spring Boot 无法连接数据库。为了解决这个问题,我通过跳过权限表的方式重置了密码。以下是具体的操作步骤记录。

环境说明:Ubuntu 系统,适用于 MySQL 5.7 和 8.0 版本。

1. 停止 MySQL 服务

在修改配置前,需要先停止正在运行的 MySQL 服务。

Ubuntu / Debian 系统:

Bash

sudo systemctl stop mysql

CentOS / RHEL 系统:

Bash

sudo systemctl stop mysqld

2. 跳过权限表启动

设置系统环境变量,让 MySQL 启动时不加载权限表,并禁用网络连接。

Bash

sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
sudo systemctl start mysql

3. 无密码登录数据库

此时可以直接以 root 身份本地登录,不需要输入密码。

Bash

mysql -u root

4. 刷新权限并修改密码

进入 MySQL 控制台后,必须先刷新权限,然后才能执行修改密码的命令。

SQL

-- 1. 刷新权限
FLUSH PRIVILEGES;

-- 2. 修改密码(将'你的新密码'替换为实际要设置的密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

说明:如果是 MySQL 5.6 或更低版本,修改密码的命令为 UPDATE mysql.user SET password=PASSWORD('你的新密码') WHERE User='root';

修改完成后,输入 exit; 退出控制台。

5. 恢复配置并重启服务

清除刚才设置的临时环境变量,并以正常模式重启 MySQL 服务。

Bash

sudo systemctl unset-environment MYSQLD_OPTS
sudo systemctl restart mysql

重启完成后,即可使用新设置的密码正常连接数据库。


评论