mysql 登录报错:ERROR 1045 (28000)

问题:mysql 登录报错:ERROR 1045 (28000)

还在学习代码写前后端分离项目,突然点击登录时,页面爆红:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

在Navicat Premium 16中点击,也不行

在命令提示符中,还是报错

解决步骤
首先以管理员身份运行命令提示符

在电脑中搜索命令提示符,以管理员身份运行


1.关闭mysql服务

输入命令

net stop mysql

ps:这里,我的名字是MYSQL5,一般的是mysql

2.设置跳过安全检查

mysql所在目录的my.ini中添加skip-grant-tables——作用: 跳过密码输入 (我是用VSCode打开的,没有的用记事本也行)

ps:加进去后,记得保存

[client]
port=3306
default-character-set=utf8
[mysqld]
# 设置为自己MYSQL的安装目录
basedir=D:\MySQL\mysql-5.7.42-winx64\
# 设置为MYSQL的数据目录
datadir=D:\MySQL\mysql-5.7.42-winx64\data\
port=3306
character_set_server=utf8
# 跳过安全检查
skip-grant-tables
3.开启MYSQL服务

在命令提示符中 ,输入命令

net start mysql

这里,我的名字是MYSQL5,一般的是mysql

4.连接数据库

ps:在之前配置my.ini文件时,有这样一段命令skip-grant-tables,作用是跳过安全检查

输入命令

mysql -u root -P 3306 -h localhost -p

会提示输入密码,直接回车就会登陆成功

这里不小心填了密码也没事,我的是123456

5.重新修改密码

输入命令

use mysql;
 

继续输入(填自己的新密码)

或许可以先看下面的ps

update user set authentication_string=password('你的密码') where user='root';
 

刷新权限

密码修改成功

ps:

我直接复制过去后就直接运行了,所以第三次,在外面把自己密码改好了,才复制进去,我改的还是原密码:123456

update user set authentication_string=password('123456') where user='root';
6.最后一步重启MYSQL服务

打开my.ini文件删除skip-grant-tables这段代码,重新启动MYSQL服务:

有两种方式

1.最开始关闭mysql的方法

2.可以在任务管理器里关

鼠标停在任务栏空闲地方,右击鼠标右键

搜索后,找到MYSQL,右击鼠标右键结束任务


最后再开启服务器

7.再次打开Navicat Premium(这一步,可能有,可能没有,看看自己会出现这个弹窗不)

输入密码即可,我的还是:123456

主要参考+原文链接:mysql5.7.42详细安装步骤,附压缩包_mysql5.7.42安装教程-CSDN博客

参考链接:mysql安装密码问题_mysql安装时密码测试不过-CSDN博客

主要原因分析:参考链接:mysql8报错纠正:解决‘root‘@‘localhost‘访问被拒问题_1045 -access denied for user 'root'@'localhost' (u-CSDN博客

原因分析:mysql连接报ERROR 1045 (28000)_mysql error 1045(28000)-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值