无法连接到MySQL服务器MAMP Pro

时间:2014-02-25 22:03:28

标签: php mysql phpmyadmin localhost mamp

经过一整天的研究和几次尝试后,好吧......我无法让它发挥作用。它过去曾奏效。

所以,我启动了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

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

请帮忙!

1 个答案:

答案 0 :(得分:0)

我真的不知道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 root密码的信息,其中包含此信息。

您最近是否有机会重置或更改密码?

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

  

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

只是尝试使用密码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会提示您输入usernamd和密码,并忽略硬编码到config.inc.php的任何内容。

  

和/bin/mamp/index.php

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

  

还尝试killall -9 mysqld

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

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

等部分中有密码
[client]
user=root
password=mypassword

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

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