在 Debian 上重置 MySQL 的 root 密码,通常有以下几种常见场景。下面以 MySQL / MariaDB 为例说明(Debian 10/11/12 大多适用)。
mysqladmin(如果你还记得旧密码)mysqladmin -u root -p password '新密码'
输入旧密码后即可修改。
mysql -u root -p
进入后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
sudo systemctl stop mysql
(MariaDB 用 mariadb)
sudo mysqld_safe --skip-grant-tables --skip-networking &
如果提示
mysqld_safe不存在,可直接用:
sudo mysqld --skip-grant-tables --skip-networking &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
如果是老版本 MySQL:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
exit
sudo systemctl restart mysql
mysql 初始安全重置(新装系统)如果你是刚安装完 MySQL:
sudo mysql_secure_installation
可设置 root 密码和安全选项。
Access denied for user 'root'@'localhost'通常是使用了 auth_socket 插件:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
如果你能告诉我:
我可以给你更精确的一步一步命令。