【问题标题】:Could not connect to MySQL server MAMP Pro无法连接到 MySQL 服务器 MAMP Pro
【发布时间】:2014-03-28 10:41:51
【问题描述】:

好吧,经过一整天的研究和几次尝试……我无法让它工作。它在过去有效。

所以,我启动了 mamp pro,我得到了 /Applications/MAMP/Library/bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

我已经用尽了很多解决方案。尝试去/Applications/MAMP/Library/bin/mysqladmin -u root -p password <newpassword>重设密码

尝试在config.inc.php/bin/mamp/index.php 中更改密码

也试过killall -9 mysqld

这是我的日志

140225 16:52:58 mysqld_safe Starting mysqld daemon with databases from /Library/Application Support/appsolute/MAMP PRO/db/mysql 140225 16:52:58 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 140225 16:52:58 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql/ is case insensitive 140225 16:52:58 [Note] Plugin 'FEDERATED' is disabled. 140225 16:52:58 InnoDB: The InnoDB memory heap is disabled 140225 16:52:58 InnoDB: Mutexes and rw_locks use GCC atomic builtins 140225 16:52:58 InnoDB: Compressed tables use zlib 1.2.3 140225 16:52:58 InnoDB: Initializing buffer pool, size = 128.0M 140225 16:52:58 InnoDB: Completed initialization of buffer pool 140225 16:52:58 InnoDB: highest supported file format is Barracuda. 140225 16:52:58 InnoDB: Waiting for the background threads to start 140225 16:52:59 InnoDB: 5.5.33 started; log sequence number 97378002 140225 16:52:59 [Note] Event Scheduler: Loaded 0 events 140225 16:52:59 [Note] /Applications/MAMP/Library/bin/mysqld: ready for connections. Version: '5.5.33' socket: '/Applications/MAMP/tmp/mysql/mysql.sock' port: 0 Source distribution

我完全没有想法。我错过了什么吗?

请帮忙!

【问题讨论】:

  • 您在安装时设置了密码吗?
  • 你能分享你的mysql连接代码吗?
  • @WayneWhitty 我不完全确定。我不认为我有。这从来没有发生在我身上,只要我记得,我就一直在使用 MAMP PRO,没有任何问题
  • @Bram 你是什么意思?我在哪里可以找到那个? MAMP Pro 初始化一切

标签: php mysql phpmyadmin localhost mamp


【解决方案1】:

我真的不知道 MAMP 包,但消息 /Applications/MAMP/Library/bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect 向我暗示 MAMP 期望 root 密码是某种东西,但事实并非如此。我怀疑他们已经获得了有关如何更改或重置您的 MySQL 根密码的信息,其中将为您提供此信息。

您最近有没有重设或更改过密码?

您所做的一切都不是为了重置密码。

/Applications/MAMP/Library/bin/mysqladmin -u root -p 密码

只是尝试使用密码password 连接到mysqladmin 程序,如果它有效,将是传递给它的命令,但它不是有效的mysqladmin 命令。 mysqladmin documentation。典型用法可能是mysqladmin -u root -p foo create barmysqladmin -u root -p foo shutdown。从技术上讲,有一个更改密码的命令,但我从未使用过它。查看手册,语法似乎是mysqladmin -u root -p foo password baz(其中'foo'是你的密码,'password'是字面密码,'baz'是你的新密码)但如果你不能连接它赢了'不只是为你改变它(而且我一直使用 phpMyAdmin 来改变密码)。

尝试在 config.inc.php 中更改密码

我认为这是 phpMyAdmin 配置文件,在这种情况下,您更改的是用于连接的密码,而不是存储的密码。 phpMyAdmin 使用actual MySQL users 进行身份验证,因此您必须拥有一个有效的 MySQL 帐户才能连接。如果您的auth_type 不是“config”,phpMyAdmin 会提示您输入用户名和密码,而忽略硬编码到 config.inc.php 中的任何内容。

和/bin/mamp/index.php

我不确定这是什么,但它可能与 config.inc.php 相同;您很可能正在更改 MAMP 在登录时尝试使用的密码,而不是存储在 MySQL 中的密码。

也试过killall -9 mysqld

嗯,这只是粗暴地粗暴地停止(“杀死”) MySQL 守护进程,而没有真正给它机会先完成内务管理(或将它正在处理的内容写入磁盘),因此您最终可能会得到不一致的数据和除非 mysqld 真的挂了,否则我不会推荐它。运行此命令后,您必须重新启动 mysqld,您可能已经发现了该命令。一般不需要重启mysqld进程;登录凭据在会话中持续存在(它存储在 mysql 数据库中),因此重启不会自动让您进入数据库。

密码可能存储在my.cnf中,我建议您搜索文件系统并查看该文件是否存在,并且可能在诸如

之类的部分中有密码 [客户] 用户=根 密码=我的密码

如果是这样,您可以在那里更新密码。

MySQL 手册中有关于 resetting the root password 的信息,但我不知道 MAMP,这样做可能会产生意想不到的后果(例如维护程序无法连接到数据库;虽然这是你遇到的问题反正现在)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-08
    • 2013-10-01
    • 2015-01-02
    • 2013-04-14
    • 2012-03-19
    • 2015-05-10
    • 2012-11-03
    相关资源
    最近更新 更多