经过一整天的研究和几次尝试后,好吧......我无法让它发挥作用。它过去曾奏效。
所以,我启动了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
我完全没有想法。我错过了什么吗?
请帮忙!
答案 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 bar
或mysqladmin -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,这样做可能会产生意想不到的后果(例如维护程序无法连接到数据库;虽然这有点问题你无论如何,现在还是。)