下面以 CentOS 7/8 + MySQL / MariaDB 为例,说明重置 root 密码的常见方法。
mysql --version
MySQL → 用 MySQL 方法MariaDB → 方法基本一样,但部分参数略有差异systemctl stop mysqld
# 或 MariaDB
systemctl stop mariadb
mysqld_safe --skip-grant-tables --skip-networking &
如果是 MariaDB:
mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
exit
systemctl restart mysqld
# 或
systemctl restart mariadb
mysql -u root -p
可尝试:
systemctl stop mysqld
若失败,用:
kill -9 <pid>
caching_sha2_password登录后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql_secure_installation
如果你能告诉我:
我可以给你更精确的步骤。