修改mysq用户l密码及相关的加密方式

本文介绍了如何使用MySQL的两种不同加密方式来设置用户密码,包括caching_sha2_password和mysql_native_password,并提供了相应的SQL命令示例。

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

–这是caching_sha2_password加密方式
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH caching_sha2_password BY ‘123456’;
FLUSH PRIVILEGES;

–这是mysql_native_password加密方式
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
FLUSH PRIVILEGES;

想看一下mysql库中的user表就知道密码的存储情况:

在这里插入图片描述

### 如何重置 MySQL 的密码 当忘记了 MySQL 的 root 密码时,可以通过以下方法安全有效地重置密码: #### 停止 MySQL 服务 以管理员身份运行命令提示符 (CMD),通过以下命令停止正在运行的 MySQL 服务: ```cmd net stop mysql ``` 此操作会确保当前的服务被完全关闭以便后续的安全模式启动[^1]。 #### 使用跳过权限表的方式启动 MySQL 为了能够绕过现有密码限制访问数据库,在 CMD 中输入如下命令来启动 MySQL 而不加载授权表: ```cmd mysqld --console --skip-grant-tables --shared-memory ``` 这条命令允许用户无需提供密码即可登录MySQL 数据库中进行管理操作[^4]。 #### 登录MySQL 并修改密码 再次打开一个新的 CMD 窗口(保持之前的 mysqld 进程继续运行),使用下面的指令连接到 MySQL: ```cmd mysql -u root ``` 一旦进入 MySQL 控制台环境 `mysql>` 下,执行 SQL 语句更改用户密码。例如要设置的新密码为 'new_password',则应这样写入并提交该变更请求: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 注意每条 SQL 指令都需要用英文状态下的分号`;`结尾。如果一切正常,则应该看到返回消息类似于 **Query OK** 表明更新成功[^3]。 有时可能因为缓存原因未立即生效,此时可尝试刷新权限后再试一次设定动作: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` #### 验证新密码有效性 完成上述步骤之后,请先退出当前 session (`exit`) ,再按照常规方式测试能否凭借刚设好的凭证顺利接入系统: ```cmd mysql -u root -p ``` 随后按提示键入刚才定义过的字符串作为认证依据确认无误即告大功告成[^2]! 最后别忘了重启正常的 MySQL 服务流程恢复日常运作状况哦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值