MySQL – 错误 1045 – 访问被拒绝

2024-10-10 09:28:00
admin
原创
74
摘要:问题描述:当我尝试通过命令行访问 MySQL 时,我以某种方式遇到了这个错误:[root@localhost ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root&#...

问题描述:

当我尝试通过命令行访问 MySQL 时,我以某种方式遇到了这个错误:

[root@localhost ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我曾尝试使用此 HowTo 重置密码,但没有成功。

我已经完全卸载了 mysql 并重新安装,但仍然要求输入密码。我不知道为什么会这样!

有人可以帮我获取 MySQL 的默认安装吗?

环境

已安装 Fedora Core 10、完全根访问权限、Apache 和 PHP

感谢您的帮助!

编辑

对于那些想省去几个小时“咳血”时间的人来说,卸载 MySQl 时请彻底删除所有残留内容。如果不这样做,安装将永远不会是全新安装。


解决方案 1:

如果您确实设置了 root 密码但刚刚丢失或忘记了它:

  1. 停止 MySQL

  2. 使用 skip-grant-tables 选项手动重新启动它:mysqld_safe --skip-grant-tables

  3. 现在,打开一个新的终端窗口并运行 MySQL 客户端:mysql -u root

  4. 使用此 MySQL 命令手动重置 root 密码:UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
    如果您使用的是 MySQL 5.7(在终端中使用 mysql --version 检查),则命令为:

UPDATE mysql.user SET authentication_string=PASSWORD('password')  WHERE  User='root';
  1. 使用此 MySQL 命令刷新权限:FLUSH PRIVILEGES;

来自http://www.tech-faq.com/reset-mysql-password.shtml

(也许这不是你所需要的,Abs,但我想它对于将来偶然遇到这个问题的人来说可能会有用)

解决方案 2:

尝试不使用任何密码进行连接:

mysql -u root

我相信初始默认设置是 root 帐户没有密码(显然应该尽快更改)。

解决方案 3:

使用此命令检查可能的输出

mysql> select user,host,password from mysql.user;

输出

mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     |                                           |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
  1. 在此情况下,尽管您已授予权限,但用户 admin 将不被允许从另一台主机登录。原因是用户 admin 没有任何密码可识别。

  2. 再次使用 GRANT 命令授予用户 admin 密码

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'

然后检查 GRANT LIST 输出将像他的

mysql> select user,host,password from mysql.user;

+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

如果所需用户(例如用户“admin”)需要被允许登录,则使用一次 GRANT 命令并执行该命令。

现在应该允许用户登录。

解决方案 4:

当前 root 密码必须为空。然后在“新 root 密码”下输入您的密码并确认。

解决方案 5:

  1. 进入 mysql 控制台

  2. 输入使用mysql;

  3. UPDATE mysql.user SET Password=PASSWORD ('') WHERE User='root' FLUSH PRIVILEGES;退出 PASSWORD ('')必须为空

  4. 然后转到 wamp/apps/phpmyadmin../config.inc.php

  5. 查找 $cfg '服务器'['密码']='root';

  6. 将 ['密码'] 替换为 ['您的旧密码']

  7. 保存文件

  8. 重新启动所有服务并转到 localhost/phpmyadmin

解决方案 6:

我遇到了同样的错误,但这是因为password_expired设置为Y。您可以按照与当前接受的答案相同的方法解决该问题,但改为执行 MySQL 查询:

UPDATE mysql.user SET password_expired = 'N' WHERE User='root';

解决方案 7:

我无法连接到 MySql 管理员。我通过创建另一个用户并分配所有权限来解决这个问题。

我使用该新用户登录并且一切正常。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用