关于phpMyAdmin的错误#1045 - 访问被拒绝的Mac

时间:2014-12-13 18:20:31

标签: mysql macos phpmyadmin mamp

完整错误是#1045 - 用户访问被拒绝&root;' @' localhost' (使用密码:是)

我在Mac上,使用mamp。这在几个星期前就已经开始了,我不确定发生了什么。我查看了无数的溢出帖子,仍然无法找到问题。 Mamp告诉我我的主机是localhost,端口是8889,用户名和密码都是' root'。


配置文件

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['password'] = 'root';
$cfg['Servers'][$i]['AllowNoPassword'] = true;


当我转到localhost / phpmyadmin / setup时会出现问题,它说'请在phpMyAdmin顶级目录中创建Web服务器可写文件夹配置,如文档中所述。否则,您将只能下载或显示它。'

我有一个名为config的文件夹。

1 个答案:

答案 0 :(得分:0)

好像您丢失了MySQL root密码。要确认,您可以尝试访问MySQL command line client。从命令行客户端/终端,尝试运行mysql命令:/Applications/MAMP/Library/bin/mysql --host=localhost -u root -p root

如果连接成功,则问题出在其他地方,但似乎密码实际上并非“root”,我建议您尝试重置密码。

当然,通常的免责声明适用。此过程不应影响任何基础数据。

此人通过照片提供了很好的分步指导:http://www.tech-otaku.com/local-server/resetting-mamp-mysql-root-user-password/

基本上你需要打开MAMP控制页面并停止服务器。然后使用--skip-grant-tables选项重新启动服务器:

/Applications/MAMP/Library/bin/mysqld_safe --skip-grant-tables --skip-networking --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid &

输入MySQL应用程序: /Applications/MAMP/Library/bin/mysql

重置密码: UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';

你可以在PASSWORD函数中使用你想要的任何密码,但是MAMP可能期望它是“root”,如果你偏离可能会有问题。您可以编辑MAMP配置以反映您的新密码,但这超出了本答案的范围。

我链接的文章建议您FLUSH PRIVILEGES;此时,但我认为,因为您即将重新启动服务器,您可以跳过该步骤。

使用CTRL-D或\q

退出命令行客户端

关闭MySQL服务器:/Applications/MAMP/Library/bin/mysqladmin --socket=/Applications/MAMP/tmp/mysql/mysql.sock shutdown -u root -p

然后返回MAMP控制面板并单击Start Servers。尝试重新登录。

您可能还希望参考有关此问题的官方MySQL手册:https://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html