ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法问题:ERROR1045(28000):Accessdeniedforuser‘root’@‘localhost’(usingpassword:NO)很久没用这台电脑的mysql了,今天需要连接数据库,启动数据库报错:ERROR1045(28000):Accessdeniedforuser‘root’@‘localhost’(usingpassword:NO)解决方法:查阅资料后知道了,应该使用已知的用户名和密码登陆mysql-uroot-p然而密

大家好,又见面了,我是你们的朋友全栈君。

2021年12月20日。本文可收藏可转载可抄袭,但是麻烦抄袭的时候抄全点,别删的不成样子,让人瞎踩坑,这是在害人。我的博客大多比较详细,也可以说是啰嗦,因为用CSDN的大多是小白,将心比心,想想自己当初被垃圾博客搞得焦头烂额的时候。


2021年11月25日修改,标示打开的CMD窗口次序。


问题:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)

很久没用这台电脑的mysql了,今天需要连接数据库,启动数据库报错:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
在这里插入图片描述

解决方法:

查阅资料后知道了,应该使用已知的用户名和密码登陆

mysql -u root -p

然而密码忘了,试了好几遍终于试出来了:
在这里插入图片描述
然后修改成通用的密码,不乱折腾了:
在这里插入图片描述
发现很多教程都过时了,我的版本是Server version: 8.0.19 MySQL ,最新的方法:
在这里插入图片描述

mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
mysql> flush privileges;

退出验证下看看有没有成功:
在这里插入图片描述

可以看到修改密码成功了。

然后呢,我又假装密码忘了,把忘记密码的修改密码方法演示一下:

第一步:关闭Mysql服务

首先先停止mysql服务。可通过net stop mysql或者任务管理器中关闭。
在这里插入图片描述
管理员权限操作:(这是第一个窗口
在这里插入图片描述

第二步:跳过Mysql密码验证

进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,mysql8.0与其他版本不同的地方在于无法直接使用mysqld –skip-grant-tables来跳过密码登录。在这我们使用mysqld -console --skip-grant-tables --shared-memory来跳过权限验证。

在这里插入图片描述
输入执行后没有反馈,新开一个管理员窗口重新执行。(这是第二个窗口

进入目录后,确保自己已经关闭了Mysql的服务:net stop mysql
在这里插入图片描述
关闭Mysql服务之后,继续在D:\mysql-8.0.19-winx64\bin目录下进行操作:
输入

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

在输入这行代码之后,如下显示,我们就已经成功跳过Mysql的密码登录了:
在这里插入图片描述

第三步:无密码方式进入Mysql

在上述步骤之后,再打开一个管理员模式运行的cmd.exe (这是第三个窗口

进入mysql下的bin目录后,直接登录mysql

不需要通过net start mysql打开mysql服务

在命令行中输入以下代码

d:
cd D:\mysql-8.0.19-winx64\bin(此处输入自己电脑上的安装目录)
mysql -u root -p

如图:
在这里插入图片描述

此时会显示让你输入密码,直接回车,就可以成功连接Mysql。
在这里插入图片描述

第四步:将登陆密码设置为空

输入代码,将密码设置为空(此时还不能直接修改密码,必须先设置为空,否则会报错
输入:

use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit; (然后退出Mysql)

操作如图:
在这里插入图片描述

第五步:更改自己的登陆密码

这里分为两个部分

1.关闭前两个cmd窗口(一定要关闭!);

2.在第三个窗口中输入代码;

net stop mysql(关闭mysql服务,虽然会显示没有开启服务,但是以防万一)
net start mysql(再打开mysql服务)

(这里不要嫌麻烦,如果上一个mysql服务没关闭,我们依旧是无密码登陆)

操作如图:
在这里插入图片描述
接着输入:

cd D:\mysql-8.0.19-winx64\bin  (此处输入自己电脑上的安装目录)
mysql -u root -p
(此处会显示输入密码,直接回车就好了,第四步我们已经将他置为空了)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';(更改密码)

如图:
在这里插入图片描述

最后一步:验证密码是否修改成功

输入:

quit(退出mysql)
mysql -u root -p 
(输入新密码,再次登录)

图示:
在这里插入图片描述
成功!

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • robots.txt文件详解「建议收藏」

    robots.txt文件详解「建议收藏」原文地址:robots.txt-禁止爬虫Robots.txt-禁止爬虫robots.txt用于禁止网络爬虫访问网站指定目录。robots.txt的格式采用面向行的语法:空行、注释行(以#打头)、规则行。规则行的格式为:Field:value。常见的规则行:User-Agent、Disallow、Allow行。User-Agent行User-Agent:r

    2022年5月6日
    82
  • Mysql 字符串转数字类型

    Mysql 字符串转数字类型MySQL字符串的‘123’转换为数字的123方法一:SELECTCAST(‘123’ASSIGNED);方法二:SELECTCONVERT(‘123’,SIGNED);方法三:SELECT’123’+0;参考:https://www.cnblogs.com/emanlee/p/5998683.html…

    2022年5月7日
    31
  • 贪吃蛇大作战java代码_java做贪吃蛇需要用到哪些知识

    贪吃蛇大作战java代码_java做贪吃蛇需要用到哪些知识用swing技术实现编写一个贪吃蛇大作战小游戏,项目供大家参考学习交流。

    2022年10月31日
    0
  • 数据库四大特性及数据库隔离级别

    数据库四大特性及数据库隔离级别MySql本篇文章主要介绍数据库的四大特性ACID,以及说明一下数据库的隔离级别。如果想要说明一个数据库或者一个框架支持事务性操作,则必须要满足下面的四大特性1.原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。失败回滚的操作事务,将不能对事物有任何影响。2.一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,…

    2022年5月26日
    33
  • pycharm中如何导入库_pycharm怎么加入库

    pycharm中如何导入库_pycharm怎么加入库两种方法:1.搜索添加列表中是已经存在的库,若需要添加库,点击+搜索待库安装完成,即可使用2.利用终端命令输入代码,回车,即可完成(numpy库为例,我的是已经存在了)

    2022年8月25日
    3
  • c语言注释快捷键_c语言多行注释快捷键

    c语言注释快捷键_c语言多行注释快捷键//注释多行快捷键Ctrl+kctrl+l//解注释多行快捷键Ctrl+kctrl+u

    2022年8月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号