我几乎一整天都在尝试获取 Symfony2 的 Doctrine 配置屏幕(例如 /app_dev.php/_configurator/step/0
)来连接到我本地运行的 MAMP 提供的 MySQL 实例。我花了一天时间阅读有关套接字、跳过网络和所有其他可能场景的内容,但我不知所措。这是您以前肯定见过的错误:
An exception occured in driver: SQLSTATE[HY000] [2003] Can't connect to MySQL
server on '127.0.0.1' (61)
以下是我尝试纠正这个令人抓狂的问题的各种方法:
- 我验证了我确实可以使用
mysql
命令在命令行上连接到 localhost 和 127.0.0.1。我确保端口都已填充,因此我可以看到实际错误的结果。 - 我在现场时通过
SHOW Variables LIKE 'socket'
检查了套接字,发现它正确指向我的 MAMP 套接字。 - 我在 MAMP 默认端口和标准 MySQL 端口 (3306) 之间摇摆,以防出现奇怪的端口问题。
- 我确保我的
/var/mysql
和/tmp/mysql
mysql.sock
文件已正确符号链接(symbolic link)到 MAMP。 - 我注释掉了 MAMP 配置文件中的跳过网络行。
- 我在所有可能的配置中都切换了“允许网络访问”
- 我将行
unix_socket:/Applications/MAMP/tmp/mysql/mysql.sock
添加到我的config.yml
文件中,以防我的符号链接(symbolic link)欺骗失败我。 - 我已经完成了几次求雨之舞和我在杂志上读到的其他部落咒语,试图将其联系起来。
我对开发和 MySQL 并不陌生,但这已经成为一个失败的原因。任何帮助将不胜感激,并会以我对您坚定的尊重作为返回。
最佳答案
错误代码2003
表示“无法连接到MySQL服务器”,您可以尝试使用以下方法。
检查你的配置文件,parameters.yml
可以访问吗?如果您在 Linux 上,只需 sudo chmod 777/path/to/parameters.yml
,mysql 连接配置参数如下所示:
参数:
数据库驱动程序:pdo_mysql
数据库主机:127.0.0.1 或 localhost
数据库端口:空
数据库名称:您的数据库名称
数据库用户:您的帐户
数据库密码:您的密码
尝试使用localhost
而不是127.0.0.1
;
关于MySQL 和 Symfony2 : Exceptions and Hair Loss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103516/