温馨提示×

怎样重置linux mysql密码

小樊
43
2026-10-12 13:41:26
栏目: 云计算

下面以 Linux + MySQL / MariaDB 常见场景为例,说明如何重置 MySQL 的 root 密码。


一、先确认 MySQL 版本

mysql --version

或

mysqld --version

二、停止 MySQL 服务

# CentOS / RHEL
systemctl stop mysqld

# Ubuntu / Debian
systemctl stop mysql

三、跳过权限表启动 MySQL(安全模式)

mysqld_safe --skip-grant-tables --skip-networking &

--skip-networking 防止远程连接,更安全

等待几秒,确认进程已启动:

ps aux | grep mysqld

四、无密码登录 MySQL

mysql -u root

五、修改 root 密码(按版本选择)

✅ MySQL 5.7 及以上

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

✅ MySQL 5.6 及以下

UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;

✅ MariaDB

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

六、退出并重启 MySQL

exit;
# 杀掉安全模式进程
pkill mysqld

# 启动正常服务
systemctl start mysqld
# 或
systemctl start mysql

七、使用新密码登录测试

mysql -u root -p

八、常见问题

1️⃣ 忘记 root 用户是哪个 host

SELECT user, host FROM mysql.user;

2️⃣ 修改指定用户密码

ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';

3️⃣ 使用 mysql_secure_installation(初始化后安全设置)

mysql_secure_installation

如果你告诉我:

  • Linux 发行版(CentOS / Ubuntu)
  • MySQL 或 MariaDB 版本

我可以给你更精确的一步一步命令。

0 踩