【问题标题】:MAMP and PHPMyAdmin: #1045 - Access denied for user 'root'@'localhost' (using password: YES) [duplicate]MAMP 和 PHPMyAdmin:#1045 - 用户“root”@“localhost”的访问被拒绝(使用密码:是)[重复]
【发布时间】:2017-11-20 11:13:33
【问题描述】:

我已经安装了 MAMP,我从来没有遇到过问题。今天我尝试登录 PHPMyAdmin 并收到以下错误消息:

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

在我的 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,但我得到了错误。
  • 和端口:Apache:80,Ngnix:8888,MySQL:3306
  • $cfg['Servers'][$i]['password'] = 'root';删除此行,如果它不起作用,请检查 mamp 设置以检查您是否使用了正确的端口
  • 也可以试试 127.0.0.1 而不是 localhost

标签: php mysql phpmyadmin mamp


【解决方案1】:
  1. 启动 MAMP

MySQL 服务器必须正在运行才能更改密码,现在打开并启动 MAMP。保持运行直到结束。

  1. Mac 终端

在 MySQL 服务器运行的情况下,打开终端(位于“/Applications/Utilities”)输入或复制/粘贴以下内容:

/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 密码替换为您刚刚创建的新密码。为了方便起见,这里列出了文件列表,您可以在您喜欢的文本编辑器中打开它们并搜索“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

我希望这可行/有意义,因为这对我有用。

【讨论】:

  • 这个提示很有帮助。感谢您的反馈!
  • 谢谢。这真的是一个简单快捷的。
  • 这通常发生在您在 MAMP 本身之外更改 db root 用户的 password 时 - 或者甚至通过它然后升级版本。从 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,它“似乎”修复了密码问题。但对我来说,这听起来仍然很糟糕。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    MySQL Workbench

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

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


    如果它使用 MySQL 工作台工作,您可以排除数据库方面的任何问题。然后你可以专注于 PHP / MAMP。检查版本以及是否已安装任何更新(可能是自动安装的)。是否安装并配置了 php mysql 模块(php.ini,确保已加载 php mysql dll)。

    【讨论】:

      【解决方案4】:
      1. 转到 MAMP 仪表板并单击 MySQL 选项卡。
      2. 有一个名为“更改用户“root”的密码的按钮:
      3. 单击按钮并更改它。
      4. 就是这样。

      【讨论】:

      • 请注意,此人无法访问 MYSQL 的这一部分,因为他收到此错误。
      猜你喜欢
      • 2016-05-05
      • 2016-07-11
      • 2013-05-26
      • 1970-01-01
      • 2018-12-12
      • 2014-06-06
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多