温馨提示×

centos mysql如何重置密码

小樊
35
2026-10-05 16:38:15
栏目: 云计算

下面以 CentOS 7/8 + MySQL / MariaDB 为例,说明重置 root 密码的常见方法。


一、先确认是 MySQL 还是 MariaDB

mysql --version
  • 显示 MySQL → 用 MySQL 方法
  • 显示 MariaDB → 方法基本一样,但部分参数略有差异

二、重置密码(推荐:安全模式)

1. 停止 MySQL 服务

systemctl stop mysqld
# 或 MariaDB
systemctl stop mariadb

2. 以跳过权限方式启动

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

如果是 MariaDB:

mysqld_safe --skip-grant-tables &

3. 无密码登录

mysql -u root

4. 修改 root 密码

MySQL 5.7 / 8.0

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

MySQL 5.6 及 MariaDB

UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;

5. 退出并重启服务

exit
systemctl restart mysqld
# 或
systemctl restart mariadb

三、使用新密码登录验证

mysql -u root -p

四、常见问题

1. 忘记 root 且无法停止服务

可尝试:

systemctl stop mysqld

若失败,用:

kill -9 <pid>

2. MySQL 8 报错 caching_sha2_password

登录后执行:

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

3. 初始化时没设密码(刚装完)

mysql_secure_installation

如果你能告诉我:

  • CentOS 版本
  • MySQL / MariaDB 版本
  • 是否能停服务

我可以给你更精确的步骤。

0 踩