温馨提示×

debian如何重置mysql密码

小樊
39
2026-09-14 00:29:00
栏目: 云计算

在 Debian 上重置 MySQL(或 MariaDB)密码,通常按下面的步骤操作即可。


一、确认是 MySQL 还是 MariaDB

Debian 默认可能安装的是 MariaDB,命令略有差异:

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

二、停止 MySQL / MariaDB 服务

sudo systemctl stop mysql

或

sudo systemctl stop mariadb

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

MySQL 8.0+

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

MariaDB / 老版本 MySQL

sudo mysqld_safe --skip-grant-tables &

四、无密码登录

mysql -u root

五、重置 root 密码

✅ MySQL 8.0+

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

✅ MariaDB / MySQL 5.7 及以下

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

(如果上面失败,可试:)

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

六、退出并重启服务

sudo systemctl stop mysql
sudo systemctl start mysql

或

sudo systemctl restart mysql

七、用新密码登录测试

mysql -u root -p

八、常见问题

1. 忘记 root 也登不上?

可先修改配置文件:

sudo nano /etc/mysql/my.cnf

添加:

[mysqld]
skip-grant-tables

重启后再改密码,改完务必删除该行。

2. 使用 socket 认证(MariaDB 常见)

ALTER USER 'root'@'localhost' IDENTIFIED VIA 'mysql_native_password';
SET PASSWORD = PASSWORD('新密码');

如果你告诉我 Debian 版本 + MySQL/MariaDB 版本,我可以给你更精确的一条龙命令。

0 踩