CentOS 7,忘记MySQL 8.0密码,密码重置方法

本文详细指导如何在CentOS 7系统中,忘记MySQL 8.0密码时,通过修改my.cnf文件、临时禁用密码验证、清空密码并重启服务,最终重置和启用新的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS 7,忘记MySQL 8.0密码,密码重置方法

  1. 打开 /etc/my.cnf文件
vim /etc/my.cnf

提示: 此处的Mysql 8.0和以往版本的mysql不同,my.cnf 文件中没有[mysql] 标识需要手动加入

  1. 在文件末尾加上 skip-grant-tables 跳过密码验证
    在这里插入图片描述
  2. 重启MySQL,使配置生效
service mysqld restart
  1. 进入MySQL,直接输入mysql
    在这里插入图片描述
  2. 切换数据库
use mysql
  1. 清空密码
update user set authentication_string='' where user='root';
  1. 退出
quit

或者也可以用 exit;exit后有分号,而quit后无分号

  1. 删除免密码登录代码“skip-grant-tables”,并重启MySQL
service mysqld restart
  1. 登入MySQL,修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

password处改为自己设定的密码

  1. 重新启动MySQL服务(使配置生效,此步骤不能省略)使用密码登入MySQL
 service mysqld restart

在这里插入图片描述

### 如何在 CentOS 上重置 MySQL 8.0 的 Root 用户密码 #### 停止并重启 MySQL 数据库服务 为了安全地更改 `root` 密码,需先停止当前运行的 MySQL 或 MariaDB 服务,并以跳过权限表的方式启动它。 ```bash sudo systemctl stop mysqld.service sudo mkdir /var/run/mysqld/ sudo chown mysql:mysql /var/run/mysqld/ sudo mysqld_safe --skip-grant-tables & ``` 上述命令会创建必要的目录结构来支持无授权模式下的 MySQL 运行[^1]。 #### 登录到 MySQL 并执行 SQL 查询语句 此时可以无需提供任何凭证就能连接至数据库服务器: ```sql mysql -u root ``` 一旦成功登录,则可继续操作以更新 `root` 账户的信息。首先切换到默认的安全配置文件所在的数据库: ```sql USE mysql; ``` 接着查询现有的认证方式以及散列后的密码字符串以便了解现状: ```sql SELECT Host, User, Authentication_String AS PasswordHash, Plugin FROM users WHERE User = 'root'; ``` 这一步骤有助于确认后续应采取的具体措施[^3]。 对于那些使用了插件验证机制而非传统哈希算法存储密码的情况,建议通过下面的方法将其改为更简单的形式——即移除现有密码后再重新设定新的强密钥组合: ```sql UPDATE user SET authentication_string = '' WHERE User = 'root'; FLUSH PRIVILEGES; ``` 此过程将清除掉旧有的身份验证数据,并立即生效这些变更[^5]。 最后按照标准流程为管理员角色指定一个新的高强度口令: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword!'; FLUSH PRIVILEGES; EXIT; ``` 这里替换了 `'YourStrongPassword!'` 成一个复杂度较高的实际值作为最终的目标状态[^2]。 #### 完成设置后恢复正常的服务运作 完成以上所有步骤之后,记得要正常关闭临时实例并将常规守护进程恢复在线: ```bash sudo pkill -9 mysqld sudo rm -rf /var/run/mysqld/* sudo systemctl start mysqld.service ``` 现在应该能够凭借刚刚定义的新凭据访问管理控制台了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值