MySQL – 错误 1045 – 访问被拒绝

2024-10-10 09:28:00
admin
原创
240
摘要:问题描述:当我尝试通过命令行访问 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 管理员。我通过创建另一个用户并分配所有权限来解决这个问题。

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

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   3878  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   2714  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Freshdesk、ClickUp、nTask、Hubstaff、Plutio、Productive、Targa、Bonsai、Wrike。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在项目管理过程中面临着诸多痛点,如任务分配不...
项目管理系统   49  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Monday、TeamGantt、Filestage、Chanty、Visor、Smartsheet、Productive、Quire、Planview。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多项目经理和团队在管理复杂项目时,常...
开源项目管理工具   49  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Smartsheet、GanttPRO、Backlog、Visor、ResourceGuru、Productive、Xebrio、Hive、Quire。在当今快节奏的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在选择项目管理工具时常常面临困惑:...
项目管理系统   49  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

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

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

内置subversion和git源码管理

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

免费试用