服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 解决Mysql: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)的方法

2022-11-04 15:48BugMiaowu2021 Mysql

最近在我们连接数据库的时候遇到个问题,感觉还挺容易遇到的,所以总结下,这篇文章主要给大家介绍了关于解决Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)的方法,需要的朋友可以参考下

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:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)的方法

解决方法:

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

mysql -u root -p

然而密码忘了,试了好几遍终于试出来了:

解决Mysql: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)的方法

发现很多教程都过时了,我的版本是Server version: 8.0.19 MySQL ,最新的方法:

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

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

退出验证下看看有没有成功:

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

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

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

第一步:关闭Mysql服务

首先先停止mysql服务。可通过net stop mysql或者任务管理器中关闭。

解决Mysql: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密码验证

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

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

输入执行后没有反馈,新开一个管理员窗口重新执行。(这是第二个窗口)

进入目录后,确保自己已经关闭了Mysql的服务:net stop mysql

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

关闭Mysql服务之后,继续在D:\mysql-8.0.19-winx64\bin目录下进行操作:

输入

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

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

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

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

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

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

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

在命令行中输入以下代码

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

如图:

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

此时会显示让你输入密码,直接回车,就可以成功连接Mysql。

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

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

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

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

操作如图:

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

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

这里分为两个部分

1.关闭前两个cmd窗口(一定要关闭!); 2.在第三个窗口中输入代码;

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

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

操作如图:

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

接着输入:

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

如图:

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

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

输入:

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

图示:

解决Mysql: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)方法的文章就介绍到这了,更多相关ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_46278037/article/details/113923726

延伸 · 阅读

精彩推荐
  • Mysql删除MySQL数据库的简单教程

    删除MySQL数据库的简单教程

    这篇文章主要介绍了删除MySQL数据库的简单教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下 ...

    MYSQL教程网4712020-05-08
  • Mysqlmysql5.7.18安装时提示无法找到入口问题的解决方法

    mysql5.7.18安装时提示无法找到入口问题的解决方法

    这篇文章主要为大家详细介绍了mysql5.7.18安装时出现无法找到入口问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    MYSQL教程网3552020-07-26
  • Mysql通过一分钟快速了解索引技巧

    通过一分钟快速了解索引技巧

    这篇文章主要给大家介绍了如何通过一分钟快速了解索引技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用索引具有一定的参考学...

    58沈剑4102020-12-23
  • Mysql详解MySQL中concat函数的用法(连接字符串)

    详解MySQL中concat函数的用法(连接字符串)

    本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 ...

    飘渺的悠远10352020-07-06
  • Mysql详解GaussDB for MySQL性能优化

    详解GaussDB for MySQL性能优化

    GaussDB(for MySQL)数据库在写入性能上,在业界同类产品中是最好的,这主要得益于GaussDB(for MySQL)在MySQL内核方面的诸多优化。其中有一项从“送快递”得来灵...

    华为云开发者社区8572021-07-15
  • MysqlMysql使用大全 从基础到存储过程

    Mysql使用大全 从基础到存储过程

    看到园子里总结的Mysql用法,我觉得没有我的全面,我的从登录到高级的存储过程都涉及到,这部分是我平常不会或是出现问题都会拿来看,不过现在就和...

    Yoby3672019-12-03
  • Mysqllinux下安装升级mysql到新版本(5.1-5.7)

    linux下安装升级mysql到新版本(5.1-5.7)

    这篇文章主要介绍了linux下安装升级mysql到新版本(5.1-5.7),需要的朋友可以参考下 ...

    老左博客2232020-06-03
  • MysqlMySQL中ROUND函数进行四舍五入操作陷阱分析

    MySQL中ROUND函数进行四舍五入操作陷阱分析

    这篇文章主要介绍了MySQL中ROUND函数进行四舍五入操作陷阱,结合实例形式分析了mysql使用ROUND函数进行四舍五入运算中出现的问题及其错误原因,需要的朋友可...

    Joker_Ye3482019-07-08