在 Debian 上重置 MySQL(或 MariaDB)密码,通常按下面的步骤操作即可。
Debian 默认可能安装的是 MariaDB,命令略有差异:
mysql --version
MariaDB → 用 MariaDB 方法MySQL → 用 MySQL 方法sudo systemctl stop mysql
或
sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables --skip-networking &
sudo mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
EXIT;
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
可先修改配置文件:
sudo nano /etc/mysql/my.cnf
添加:
[mysqld]
skip-grant-tables
重启后再改密码,改完务必删除该行。
ALTER USER 'root'@'localhost' IDENTIFIED VIA 'mysql_native_password';
SET PASSWORD = PASSWORD('新密码');
如果你告诉我 Debian 版本 + MySQL/MariaDB 版本,我可以给你更精确的一条龙命令。