Debian MySQL密码怎么改

2026-07-03技术问答177748

在 Debian 系统中修改 MySQL(或 MariaDB)密码,常见有 3 种场景。下面按最常用、最安全的方式给你说明(适用于 Debian 10/11/12 及常见版本)。


一、已知当前 root 密码(推荐)

方法 1:用 mysqladmin(最简单)

mysqladmin -u root -p password "新密码"

回车后输入旧密码即可。


方法 2:在 MySQL 内部修改(推荐)

  1. 登录 MySQL
mysql -u root -p
  1. 修改密码(MySQL 5.7+ / MariaDB 10.4+)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  1. 刷新权限
FLUSH PRIVILEGES;
  1. 退出
EXIT;

这是最标准、最安全的方式


二、忘记 root 密码(重置密码)

1️⃣ 停止 MySQL 服务

sudo systemctl stop mysql

2️⃣ 跳过权限表启动 MySQL

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

3️⃣ 免密码登录

mysql -u root

4️⃣ 修改密码

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

如果是 MariaDB 或老版本:

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

5️⃣ 退出并重启 MySQL

exit
sudo systemctl restart mysql

三、Debian 默认安装(MariaDB)注意点

Debian 默认使用的是 MariaDB,可能有以下情况:

情况 1:使用 unix_socket 登录

sudo mysql

无需密码,直接修改密码即可:

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

如果报错:

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

四、验证是否修改成功

mysql -u root -p

五、常见错误及解决

Access denied for user 'root'@'localhost'

→ 密码错误或服务未重启

ALTER USER 报错

→ 可能版本较老,用:

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

六、建议的安全配置

DROP USER IF EXISTS 'root'@'%';

避免 root 被远程登录。


如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/debian_version
  • MySQL / MariaDB 版本(mysql --version

我可以给你完全精准的命令。

《Debian MySQL密码怎么改.doc》

下载本文的Word格式文档,以方便收藏与打印。