温馨提示×

debian mysql怎么重置密码

小樊
35
2026-10-04 20:26:53
栏目: 云计算

在 Debian 上重置 MySQL(或 MariaDB)密码,通常按照以下步骤操作。不同版本略有差异,我分别说明。


一、先确认你用的是 MySQL 还是 MariaDB

mysql --version
  • 显示 MariaDB → 用 MariaDB 方法
  • 显示 MySQL → 用 MySQL 方法

二、停止 MySQL / MariaDB 服务

sudo systemctl stop mysql
# 或
sudo systemctl stop mariadb

三、以跳过权限表方式启动

MySQL(5.7 / 8.0)

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

MariaDB

sudo mysqld_safe --skip-grant-tables &

四、无密码登录

mysql -u root

五、重置 root 密码

MySQL 5.7 / 8.0

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

如果是老版本 MySQL:

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

MariaDB

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

六、退出并重启服务

exit
sudo systemctl restart mysql
# 或
sudo systemctl restart mariadb

七、用新密码登录测试

mysql -u root -p

八、如果忘记的是 Debian 系统 root(sudo)用户

那和 MySQL 无关,用 passwd 改系统密码即可。


常见问题

  • 报 mysql.sock 错误:确认服务已停,且用 mysqld_safe 启动
  • 8.0 不能用 PASSWORD():必须用 ALTER USER
  • Docker 容器:需进容器执行,不是宿主机

如果你告诉我:

  • Debian 版本
  • MySQL / MariaDB 版本

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

0 踩