MySQL8.0忘记密码

1、停掉mysql 服务

2、输入命令mysqld --console --skip-grant-tables --shared-memory ,跳过授权表

3、另开个管理员cmd窗口,输入mysql 进入mysql服务

4、输入use mysql进入mysql数据库,然后进行密码更新命令为: 

  UPDATE user SET authentication_string="123456" WHERE user="root";

mysql> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string="123456" WHERE user="root";
Query OK, 1 row affected (0.39 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH privileges;  # 刷新保存
Query OK, 0 rows affected (0.13 sec)

### 如何重置 MySQL 8.0 Root 用户密码 对于 CentOS 7 上的 MySQL 8.0 版本,如果忘记 root 密码,则可以通过特定流程来恢复访问权限并设置新密码。 #### 停止 MySQL 服务 首先停止正在运行的 MySQL 或 MariaDB 服务。这一步骤确保数据库处于安全状态,在更改配置时不被其他进程干扰[^1]。 ```bash sudo systemctl stop mysqld ``` #### 启动 MySQL 跳过授权表 接着以跳过授权表的方式启动 MySQL 实例,允许无验证进入服务器环境: ```bash sudo mysqld_safe --skip-grant-tables & ``` 此命令会绕过正常的认证机制,因此能够无需提供现有凭证就能连接到实例。 #### 登录 MySQL 并执行必要的变更 此时可以不带任何参数直接登录 MySQL 客户端工具,并立即发出一系列指令更新 root 的身份验证信息: ```sql USE mysql; -- 修改本地主机上的root账户密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 上述操作不仅改变了默认管理员账号关联的秘密密钥,还刷新了存储于内存中的权限缓存以便即时生效这些改动[^2]。 另外一种情况是在某些环境中可能还需要针对远程连接定义 `'root'@'%'` 这样的通配符模式下的用户记录来进行同样的处理: ```sql ALTER USER 'root'@'%' IDENTIFIED BY 'another_secure_password'; FLUSH PRIVILEGES; ``` 完成以上步骤之后记得重启 MySQL 服务恢复正常工作流,并尝试利用刚设定的新密码正常登陆管理界面[^3]。 #### 验证新的密码策略是否有效 最后建议通过标准的身份验证过程测试能否顺利接入系统,确认一切按预期运作良好。 ```bash mysql -u root -p Enter password: new_password ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值