Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【已解决】MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开解决方法

【已解决】MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开解决方法

作者头像
程序员洲洲
发布于 2024-06-09 05:44:07
发布于 2024-06-09 05:44:07
49.2K061
代码可运行
举报
文章被收录于专栏:项目文章项目文章
运行总次数:61
代码可运行

本文摘要:本文已解决MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。

一、Bug描述

Mysql在使用过程中,可能会遇到登录问题,比如常见的错误信息:“Access denied for user ‘root’@‘localhost’ (using password: YES)”。

本文将分析这个问题的可能原因,并提供一系列解决方案。

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

二、定位报错原因

出现这个Access denied问题的原因有如下可能:

  • MySQL的服务器停止了。
  • 用户的端口号或者IP导致拒绝访问。
  • MySQL的配置文件错误(通常是my.cnf或my.ini)。
  • root用户的密码错误。
  • 权限问题:用户可能没有足够的权限登录。

三、解决方案汇总

方案一:重设密码(建议忘记密码才使用这个方案)

步骤1:停止MySQL服务

Linux上,可以使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl stop mysql

Windows上,可以通过服务管理器停止MySQL服务。

步骤2:以无密码模式启动MySQL

在Linux上,使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mysqld_safe --skip-grant-tables &

如果是Windows系统。

使用vi /etc/my.cnf,添加到【mysqld】后面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
skip-grant-tables

重启MySQL服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl restart mysqld  

创建一个免密码登录的用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use mysql  #选择数据库

update user set authentication_string=password("123456") where user="root";  #修改密码
步骤3:连接Mysql

使用以下命令连接到MySQL服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root
步骤4:设置新密码

在MySQL命令行中,执行以下命令来设置新密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
步骤5:重启Mysql服务

在Linux上,使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start mysql

Windows上,使用命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
net start mysql

方案二:检查用户权限

确保root用户具有从localhost登录的权限。可以使用以下命令查看权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW GRANTS FOR 'root'@'localhost';

如果权限不正确,可以使用以下命令授予所有权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

方案三:修改配置文件(推荐)

检查MySQL的配置文件,确保没有错误的配置阻止了登录。

常见的配置文件路径为/etc/mysql/my.cnf或/etc/my.cnf 或者 D:\Program Files\MySQL\MySQL Server 5.0\my.ini)

在[mysqld]这个条目下加入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
skip-grant-tables 

保存退出后重启mysql即可。

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。

我们接下来设置密码就可以了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> use mysql;
mysql> update user set password=password("新密码") where user="root";

然后刷新数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)  
mysql> quit;

总结

Hello,各位看官老爷们好,洲洲已经建立了技术交流群,如果你很感兴趣,可以私信我加入我的社群。

📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。

📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。

📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有

📝欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Centos7解决MySQL登录ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)
OwenZhang
2021/12/08
4.7K0
Centos7解决MySQL登录ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using
如何解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO) MySQL5和MySQL8
摘要: 在MySQL中,遇到ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)错误,意味着MySQL拒绝了root用户的访问请求。这个问题通常与密码设置或权限配置错误有关。本文将详细介绍MySQL 5和MySQL 8版本下的解决方法,帮助用户快速解决该问题。通过这些技术解决方案,你可以轻松修复MySQL连接错误,并提高数据库的安全性和访问权限管理能力。本文将涵盖常见的错误排查步骤、权限修复方法以及如何重新设置MySQL root用户的密码,特别适用于开发人员、系统管理员以及数据库管理员。
猫头虎
2025/04/14
1.2K0
Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ 完美解决方法
遇到 Error 1045 (28000): Access denied for user ‘root’@‘localhost’ 错误是新手在配置 MySQL 时的常见问题。这通常意味着 root 用户无法通过提供的密码访问 MySQL 服务器。本篇文章将详细介绍导致这一问题的原因,并提供多种解决方案,帮助你彻底解决此问题。最后还有我的微信供大家交流。
默 语
2024/12/28
3K0
Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ 完美解决方法
Error 1045 (28000):Access Denied for User ‘root‘@‘localhost‘ 完美解决方法
摘要 大家好,我是默语。在这篇文章中,我们将详细解析 MySQL 数据库中常见的错误之一——Error 1045 (28000)。该错误通常表示“Access Denied for User ‘root’@‘localhost’”,即“访问被拒绝,用户 ‘root’@‘localhost’”。我们将探讨这个错误的根本原因,提供详尽的解决方案,并通过实际示例帮助你有效解决此问题。无论你是数据库管理员还是开发者,这篇文章将帮助你快速解决访问权限问题。
默 语
2024/11/22
9180
1045 Access denied for user 'root'@'localhost' (using password: YES)
MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES)
acoolgiser
2019/01/17
24.3K0
重置密码遇到ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor:yes)问题
在文档内搜索mysqld定位到[mysqld]文本段: /mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
kirin
2020/11/24
1.4K0
Ubuntu下MySQL报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
回到 vim  /etc/mysql/mysql.conf.d/mysqld.cnf将刚才加入的那一行“skip-grant-tables”注释或删除掉。
玩蛇的胖纸
2018/07/25
5.2K0
Ubuntu下MySQL报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决Java应用程序中的SQLException:Access denied for user ‘root‘@‘localhost‘ 错误
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at BookManagement.<init>(BookManagement.java:23) at BookManagement.main(BookManagement.java:66)
命运之光
2024/03/20
6.8K0
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO) 解决方案1.停止mysql
初次安装mysql,net start mysql,然后输入mysql -u root -p,
一个会写诗的程序员
2018/08/17
105.4K4
Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ — 完美解决方案详解 ️
大家好,我是默语!今天我们要深入探讨一个让很多MySQL用户头疼的问题:Error 1045 (28000): Access denied for user ‘root’@‘localhost’。这是在登录MySQL数据库时常见的错误提示,意味着用户无法使用root账户访问数据库。本文将详细分析该错误的成因,并提供多种解决方案,帮助大家迅速解决问题。关键词:MySQL、Error 1045、Access denied、root账户、数据库权限、MySQL登录问题。
默 语
2024/11/22
2.1K0
mysql密码忘记(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using )
一.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
风起--追风
2022/11/01
1.4K0
MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@’localhost’错误解决办法
linuxidc@linuxidc:~/www.linuxidc.com$ mysql --version mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper
星哥玩云
2022/08/18
2.4K0
MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@’localhost’错误解决办法
在Linux环境下mysql的root密码忘记解决方法
方法一: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 2.修改MySQL的登录设置:  # vi /etc/my.cnf  在[mysqld]的段中加上一句:ski
joshua317
2018/04/09
1.2K0
ERROR 1045 (28000): Access denied for user
centos6.5 mysql5.6 安装好mysql,密码正确但是报下面的错误!!解决办法!
斯文的程序
2019/11/07
2.4K0
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
问题 [root@node1 text]# mysql -uroot -p123456 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [root@node1 text]# 停止mysql [root@node1 text]# service mysqld stop Stopping mysqld: [
程裕强
2022/05/06
7210
MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,需要跳过密码认证登录到数据库后,先将root密码设置为空,然后才可以登录到数据库,修改root密码。
小手冰凉
2020/05/19
1.3K0
windows mysql 8.0 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
步骤1:先关闭MySQL服务,然后使用“–skip-grant-tables”配置项,跳过权限验证方式重启MySQL服务:
MickyInvQ
2020/09/27
2.7K0
windows mysql 8.0 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
mysql5.7 ERROR 1045 (28000): Access denied for user 'root'@'localhost'
初次安装mysql,net start mysql,然后输入mysql -u root -p,出现enter password,我直接点击回车,结果出现如果下错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。网上看了很多方法,都是千篇一律的,没有解决我的问题
似水的流年
2018/01/14
9230
MySQL输入密码出现ERROR 1045(28000)ACCESS denied for错误解决方法
本人的网站www.appjzw.com是安装centos7系统下面,采用的是LAMP环境,使用的是MySQL环境,今天准备进入数据库更改字符段时,发现无法进入数据,输入密码回车后出现“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ”错误:
IDC科技
2020/04/21
8.3K0
MySQL输入密码出现ERROR 1045(28000)ACCESS denied for错误解决方法
MySQL连接错误1045:完美解决指南
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
猫头虎
2024/04/09
3.8K0
MySQL连接错误1045:完美解决指南
推荐阅读
Centos7解决MySQL登录ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using
4.7K0
如何解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO) MySQL5和MySQL8
1.2K0
Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ 完美解决方法
3K0
Error 1045 (28000):Access Denied for User ‘root‘@‘localhost‘ 完美解决方法
9180
1045 Access denied for user 'root'@'localhost' (using password: YES)
24.3K0
重置密码遇到ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor:yes)问题
1.4K0
Ubuntu下MySQL报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
5.2K0
解决Java应用程序中的SQLException:Access denied for user ‘root‘@‘localhost‘ 错误
6.8K0
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO) 解决方案1.停止mysql
105.4K4
Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ — 完美解决方案详解 ️
2.1K0
mysql密码忘记(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using )
1.4K0
MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@’localhost’错误解决办法
2.4K0
在Linux环境下mysql的root密码忘记解决方法
1.2K0
ERROR 1045 (28000): Access denied for user
2.4K0
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
7210
MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
1.3K0
windows mysql 8.0 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
2.7K0
mysql5.7 ERROR 1045 (28000): Access denied for user 'root'@'localhost'
9230
MySQL输入密码出现ERROR 1045(28000)ACCESS denied for错误解决方法
8.3K0
MySQL连接错误1045:完美解决指南
3.8K0
相关推荐
Centos7解决MySQL登录ERROR 1045 (28000): Access denied for user ‘‘@‘localhost‘ (using
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验