MAMP和PHPMyAdmin:#1045 - 用户'root'@'localhost'被拒绝访问(使用密码:YES)

8

我已经安装了MAMP,一直没有出现问题。今天我尝试登录PHPMyAdmin,但是出现了以下错误信息:

1045 - 用户'root'@'localhost'被拒绝访问(使用密码:是)

enter image description here

在我的config.inc.php文件中,设置了以下选项:
$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = 'root';

我从未更改过我的密码。这是一个本地安装,所以我一直使用“root”作为用户名和密码。
我尝试通过终端访问MySQL:
/Applications/MAMP/Library/bin/mysql

但我得到了这个:
ERROR 1045 (28000): Access denied for user 'boneill'@'localhost' (using password: NO)

不确定发生了什么。我没有更改密码或其他任何东西。它突然停止工作了。有什么想法吗?


在哪里/如何尝试呢?我所做的就是启动MAMP服务器并尝试导航到PHPMyAdmin,然后出现了错误。 - Brian O'Neill
$cfg['Servers'][$i]['password'] = 'root'; 如果这行代码无效,请删除它。如果仍然无法连接,请检查MAMP设置以确保使用了正确的端口。 - Jonathan
尝试使用 127.0.0.1 而不是 localhost。 - Jonathan
什么是正确的端口? - Brian O'Neill
根据您的设置,如果它一直是3306,那么没问题。问题应该是其他的原因,尝试使用127.0.0.1而不是localhost。 - Jonathan
显示剩余2条评论
4个回答

35
  1. 启动MAMP

更改密码前必须启动MySQL服务器,现在打开并启动MAMP,保持其运行直至结束。

  1. Mac终端

当MySQL服务器正在运行时,打开终端(位于“/应用程序/实用工具”中),输入或复制/粘贴以下内容:

/Applications/MAMP/Library/bin/mysqladmin -u root -p password

您将被提示输入密码。输入 root 用户的当前密码。如果您在 phpMyAdmin 中更改了密码,请使用该密码。

大多数情况下密码为空,因此只需按 Enter 键并输入新密码即可。

$ /Applications/MAMP/Library/bin/mysqladmin -u root -p password
Enter password:

$ /Applications/MAMP/Library/bin/mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password:

现在您需要更改一些文件:

您需要将所有旧根密码的出现替换为您刚创建的新密码。 为了简单起见,这是一个文件列表,您可以在喜欢的文本编辑器中打开它们并搜索“root”,将'-proot'更改为'-p NewPassword',将“NewPassword”替换为您自己的密码。

  • /Applications/MAMP/bin/phpMyAdmin/config.inc.php
  • /Applications/MAMP/bin/checkMysql.sh
  • /Applications/MAMP/bin/quickCheckMysqlUpgrade.sh
  • /Applications/MAMP/bin/repairMysql.sh
  • /Applications/MAMP/bin/stopMysql.sh
  • /Applications/MAMP/bin/upgradeMysql.sh

    停止并重新启动 MAMP

我希望这对您有用/讲得通,因为这在我的计算机上运行正常。


1
这些技巧很有帮助。感谢您的反馈! - Didierh
1
谢谢。这真的是一个简单且快速的任务。 - Hriju
通常情况下,当您在 MAMP 之外更改了 db root 用户的密码 - 或者甚至通过它进行升级时,就会出现这种情况。我在从 V6.3 升级到 V6.4 后在 MAMP PRO 上遇到了这个问题,@harsh_shah 的答案仍然有效,只是 MAMP V6.4 现在集成了 phpMyAdmin 的 V4.9 和 V5.1 版本。我仍然不确定在幕后同时拥有两个版本的机制,特别是它使用 V4.9 的端口 3306 和 V5.1 的端口 8889。在您搞砸之前,您可以继续升级到 V6.4.2,它“似乎”修复了密码问题。但对我来说,它仍然听起来很有 bug。 - seedme
这对我来说解决了问题。谢谢! - undefined

2

如果我是你,我会直接拿走你的htdocs文件夹并重新安装MAMP。我在本地安装wordpress时遇到了这个问题,设置配置文件时使用没有密码的db用户,然后在安装过程中更改密码。我不知道为什么要这样做,但这样安装wordpress就会出现一个没有密码的用户,而数据库需要一个密码,因此它会给我一个身份验证错误。


0

考虑到您似乎在调试问题上遇到了困难,我认为排除一些可能性最简单的方法是安装:

MySQL Workbench

它是免费的,您可以将其用作GUI尝试登录到“localhost”或更好的“127.0.0.1”端口3306,用户“root”,密码与您选择的相同。

如果您仍然注意到连接到数据库时出现错误,请转到控制面板 ->服务并检查MySQL数据库的状态。它可能已经崩溃了。尝试重新启动服务。如果它立即关闭,请检查您的磁盘空间。如果您的磁盘空间不足,则可能会损坏表。还要检查防火墙规则。如果您在企业环境中工作,则可能有人部署了新的安全策略-这可能会导致端口阻塞,应用程序网络问题等等。自动Windows更新也可能导致这些更改。


如果在使用MySQL Workbench时正常工作,那么可以排除数据库方面的问题。您可以将注意力集中在PHP/MAMP上。检查版本以及是否安装了任何更新(可能是自动更新)。请确认已安装并配置了php mysql模块(php.ini文件,并确保已加载php mysql dll)。

-1
前往 MAMP 仪表板并点击 MySQL 选项卡。 有一个称为“更改用户“root”密码”的按钮: 单击该按钮并更改密码。 就这样。

只是注意到,这个人无法访问MYSQL的这个部分,因为他遇到了这个错误。 - JORDANO
尽管我使用的是macOS Big Sur上的6.6版本,但MAMP Pro界面中没有更改MySQL root密码的选项。 - SteveExdia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接