2011-11-16 38 views
0

我一直在尝试让我的机器上的Rails应用程序有一段时间的红宝石现在为一个我需要工作的项目。问题是,我的系统必须设置MySQL的默认位置,因为每次启动rails web服务器(webrick)并运行localhost:3000时,都会出现以下错误。什么是迫使我的系统在“/opt/local/var/run/mysqld/mysqld.sock”中寻找MySQL

“无法通过套接字‘/opt/local/var/run/mysqld/mysqld.sock’连接到本地MySQL服务器(2)”

我已删除的MySQL的安装版本和删除所有文件夹。我使用BREW重新安装了mysql。我现在有一个正在运行的mysql实例。 “which mysql”的输出结果是“/ usr/local/bin/mysql”,它实际上是“/usr/local/Cellar/mysql/5.5.14/bin/mysql”的一个简单链接。

有谁知道可能会迫使我的Rails应用来寻找在mysql“/opt/local/var/run/mysqld/mysqld.sock”

注:我删除了当前的my.cnf因为它正在搞乱我现在正在运行的mysql的brew版本,所以我知道这跟那个没有关系。

+0

检查ruby配置。这是客户端错误。 –

回答

1

/opt/local是MacPorts安装软件包的默认位置。您有机会通过MacPorts安装rails和或MySQL。试试:

sudo /opt/local/bin/port installed 

看看安装了什么。

+0

好的,你是正确的,我确实从macports安装了mysql4。我只卸载了它,并且仍然安装并运行了BREW版本的MySQL。但是现在我在尝试运行应用程序时遇到以下错误,或者只是“rake db:create”...“未初始化的常量Mysql :: Error”。有任何想法吗? –

+0

现在你已经清理了一些东西,你可能需要重新安装依赖于MySQL的brew包。如果您安装了其他MacPorts端口,则应先卸载它们。不要混用包管理器!挑一个并坚持下去。 –

+0

感谢您的帮助。卸载所有安装的macports后,所有这一切都很好,用BREW重新安装mysql,然后重新安装mysql gem。 –