在 Ubuntu 上重置 MySQL(或 MariaDB)密码,通常步骤如下。根据你的 MySQL 版本 和 是否能登录 情况选择对应方法。
如果你还能用 root 登录:
mysql -u root -p
执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
sudo systemctl stop mysql
(如果是 MariaDB:sudo systemctl stop mariadb)
sudo mysqld_safe --skip-grant-tables &
或(Ubuntu 20.04+):
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
如果是 MySQL 5.7 以下:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码')
WHERE User='root';
FLUSH PRIVILEGES;
exit
sudo systemctl restart mysql
如果 ALTER USER 报错:
CREATE USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql -u root -p
如果你告诉我:
我可以给你更精确的一步步操作。