MYSQL8.0忘记密码,重新设置修改密码

新装了mysql后,重启电脑,再次链接mysql时发现链接不上了,报出以下出错误

1045- Access denied for user 'root'@'localhost' (using pssword: YES)

这个即表示用户名或者密码错误导致的,实在记不住密码了,那么就只好重新设置root的密码

 

第一步:进入mysql安装目录中的bin目录中

第二步:以管理员身份运行cmd窗口

以上两步缺一不可,剩下的按照命令行敲就行

停止mysql:

net stop mysql

开启mysql安全模式

mysqld --console --skip-grant-tables --shared-memory

之后这个窗口别关,再新开另一个窗口,直接输入mysql就可以进入了

mysql

在新窗口中使用数据库

use mysql;

更新权限

flush privileges;

更新root用户的密码

alter user 'root'@'localhost' IDENTIFIED BY '新密码';

最后重启mysql

net start mysql

### 如何重置 MySQL 8.0 Root 用户密码 当遇到 `ERROR 1045 (28000): access denied for user 'root'@'localhost'` 错误,这通常意味着输入了错误的密码或未提供正确的凭证尝试访问数据库。对于 MySQL 8.0 版本而言,可以通过以下方式来安全地更改 root 密码。 #### 停止 MySQL 服务 为了能够绕过权限验证机制进入服务器内部执行必要的操作,需要先停止正在运行的服务实例: ```bash sudo systemctl stop mysqld.service ``` #### 启动 MySQL 跳过授权表 接着通过跳过授权表的方式重新启动 MySQL 实例,这样可以允许无认证连接到数据库引擎内: ```bash sudo mysqld_safe --skip-grant-tables & ``` 此命令会在后台开启一个新的进程,并忽略所有的账户权限控制措施[^1]。 #### 登录 MySQL 并更新密码可以直接以 root 用户身份无需任何口令就能成功登陆至 MySQL 控制台环境之中;之后切换到名为 "mysql" 的内置模式下,利用 SQL 查询语句完成对超级管理员账号的新密设置工作: ```sql USE mysql; FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPasswordHere'; ``` 上述代码片段中的 `'NewPasswordHere'` 应替换为自己想要设定的具体字符串作为新密码[^3]。 请注意,在 MySQL 8.0 中不再推荐使用 `UPDATE` 和 `SET PASSWORD()` 函数直接修改用户的 `authentication_string` 字段值,而是采用更现代且更为安全的方法即 `ALTER USER ... IDENTIFIED BY ...` 来实现相同目的[^4]。 #### 关闭临会话并恢复正常运作状态 一旦完成了以上步骤,则应当立即终止当前处于特殊配置下的守护程序实例,移除之前所做的改动(如果有的话),最后再正常恢复常规条件下的持久化存储子系统的活动状况: ```bash exit # 退出 MySQL shell sudo killall -9 mysqld_safe mysqld sudo systemctl start mysqld.service ``` 至此整个流程结束,现在应该可以用刚刚创建好的全新凭据顺利连入目标主机上的关系型数据管理系统里去了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值