如何在MySQL for Mac上设置默认端口

时间:2010-12-09 14:27:21

标签: mysql zend-framework zend-db

在我尝试使用以下内容时在OSX上:

resources.db.adapter = "pdo_mysql"
resources.db.params.dbname = "myDb"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""

我收到以下错误

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Pdo/Abstract.php on line 129

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Pdo/Abstract.php:129
Stack trace:
#0 /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:dbname=gl...', 'myDb', '', Array)
#1 /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#2 /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Abstract.php(858): Zend_Db_Adapter_Pdo_Mysql->_connect()
#3 /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Abstract.php(928): Zend_Db_Adapter_Abstract->quote('asdf@asd...', NULL)
#4 /Library/WebServer/sites/testweb/library/Zend/Db/Select.php(1000): Zend_Db_Adapter_Abstract->quoteInto('email = ?', 'asdf@asd...', NULL)
#5 /Library/WebServer/sites/testweb/library/Zen in /Library/WebServer/sites/testweb/library/Zend/Db/Adapter/Pdo/Abstract.php on line 144

如果我添加:3306则可以使用

resources.db.params.host = "localhost:3306"

然而,Windows机器有这样的连接问题。

有没有办法让OSX只连接localhost mysql默认端口?

2 个答案:

答案 0 :(得分:11)

要将'localhost'用作ip而不是让unix系统尝试连接到套接字,只需提供ip-address而不是'localhost' - 127.0.0.1

resources.db.params.host = 127.0.0.1

要指定端口,必要时应在资源配置中使用单独的行:

resources.db.params.port = 3306

答案 1 :(得分:5)

Mountain Lion与MAMP解决方案:

sudo ln -f /Applications/MAMP/bin/php/php5.4.4/bin/php /usr/bin/php