温馨提示×

怎样重置debian mysql密码

小樊
46
2026-09-07 21:35:08
栏目: 云计算

下面以 Debian 系统下 MySQL / MariaDB 为例,说明忘记 root 密码时如何重置。


一、确认数据库类型

先确认你用的是 MySQL 还是 MariaDB:

mysql --version
  • 含 MariaDB → MariaDB
  • 含 MySQL → MySQL

两者步骤基本一致。


二、停止 MySQL 服务

sudo systemctl stop mysql

或(旧版本):

sudo service mysql stop

三、跳过权限表启动 MySQL

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

--skip-networking 是为了安全,禁止远程连接

等待几秒,确认启动成功。


四、无密码登录 MySQL

mysql -u root

五、重置 root 密码

MySQL 5.7+ / 8.0

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

MariaDB / 老版本 MySQL

FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');

六、退出并重启 MySQL

exit
sudo systemctl restart mysql

七、验证登录

mysql -u root -p

输入新密码,能登录即成功。


八、常见问题

1. 忘记 root 用户主机

查看用户:

SELECT user, host FROM mysql.user;

2. 使用 auth_socket 登录

Debian 默认可能用 socket 登录:

sudo mysql -u root

改为密码登录:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

如果你告诉我:

  • Debian 版本
  • MySQL / MariaDB 版本
  • 是否云服务器 / Docker

我可以给你更精确的步骤。

0 踩