数据库报错:1045-Access denied for user “root“ @localhost (using password: yes)

目录

一.前言

二.分析原因

三.解决问题

3.1 将现在的数据库全部卸载

3.2 直接修改数据库密码

方法一.用set password命令 

 方法2:用mysqladmin 

方法3:用update直接编辑user表 

方法4:忘记密码处理方式


一.前言

    在我们开发中肯定会和数据库打交道, 我的电脑发生点小问题, 重做系统之后自己的环境和配置需要重新配置, 数据库也是重新下载, 在我安装数据库之后, 再打开Navicat 本地数据库时报错1045-Access denied for user "root" @localhost (using password: yes) 我们的数据库密码过期了, 要知道我的数据库新下载, 新配置的环境变量, 对于这个问题为和我同样问题的小伙伴解答一下, 希望同学们不要走弯路.

二.分析原因

在我发生这个问题, 查阅了好多资料.

问题1: 之前我们的数据库再重做之后有残留的数据库文件

问题2: 我们安装数据库时配置有问题

三.解决问题

3.1 将现在的数据库全部卸载

 数据库文件全部删除, 重新下载mysql, 安装数据库步骤就不详细解释了,可以参考博客:Windows 安装MySQL 8.0 超详细教程(mysql 8.0.30)_windows安装mysql8.0_程序前行者的博客-CSDN博客

3.2 直接修改数据库密码

注意:要用管理员运行命令行

方法一.用set password命令 

(1)首先要先登录MySQL:

数据库报错:1045-Access denied for user “root“ @localhost (using password: yes)_第1张图片 

 

 (2) 修改密码格式为:

set password for 用户名@localhost = password('新密码'); 一定不要忘记最后面的分号,例如:我们把密码改成成123:

set password for root@localhost = password('root123');

出现以下界面说明修改成功:

 方法2:用mysqladmin 

利用mysqladmin,我们不需要先登录,但是需要直到原来的密码;我们可以直接修改,修改密码格式为:

mysqladmin -u用户名 -p旧密码 password 新密码,注意,password前面没有 -  ,例如:我们再把密码改成123456:
mysqladmin -uroot -p123 password 123456

 出现以下界面说明修改成功

数据库报错:1045-Access denied for user “root“ @localhost (using password: yes)_第2张图片

方法3:用update直接编辑user表 

(1)首先要先登录MySQL

(2)然后依次输入:

use mysql # 连接权限数据库
update user set password=password('521') where user='root' and host='localhost'; # 改密码
flush privileges; # 刷新权限

出现以下界面说明修改成功: 

数据库报错:1045-Access denied for user “root“ @localhost (using password: yes)_第3张图片

方法4:忘记密码处理方式

1. 关闭正在运行的MySQL服务。 

win+r输入:services.msc回车,找到MySQL,手动关闭MySQL服务

数据库报错:1045-Access denied for user “root“ @localhost (using password: yes)_第4张图片

 

2. 打开DOS窗口,利用cd命令转到mysql的bin目录:建议直接找到mysql的bin目录下输入cmd回车
3. 输入mysqld --skip-grant-tables 回车。

--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 

4. 再开一个DOS窗口(刚才那个DOS窗口已经不能动了),转到mysql的bin目录。 
5. 输入mysql回车,如果上面修改成功,将直接出现 mysql> 这样的提示符。 
6. 连接权限数据库: use mysql
6. 改密码:update user set password=password("123") where user="root";
7. 刷新权限(必须步骤):flush privileges; (不要忘记分号)
8.exit或者ctrl+c退出,进行重新登陆

你可能感兴趣的:(数据库,服务器,mysql)