2013-06-24 39 views
1

我运行OSX上的一些Rails应用程序,但是当我启动rails generate命令类型,我得到这个消息:应用程序无法连接到本地MySQL - OSX

/$root/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error) 

有关信息,我MAMP服务器

alias mysql="/Applications/MAMP/Library/bin/mysql" 

顺便说一句,是什么奇怪的是,我的rails s命令的作品完美,所以我的应用程序可以连接到Apache:在运行,且该连接必须通过/Applications/MAMP/Library/bin/mysql,所以我在我的bash配置文件中设置别名它在这种情况下服务器

回答

4

因此,关键是简单地/tmp/mysql.sock/Applications/MAMP/tmp/mysql/mysql.sock

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 
1

该错误表明“mysql未启动/正在运行”。从你所描述的,看起来像指向别名的新位置没有mysql或者它的mysql没有启动。在新的位置,正确的参数

看my.cnf文件: /应用/甲基苯丙胺/库/斌/ MySQL的

另一个技巧是列出您正在运行的进程,并期待为MySQL。 另外,你确定,“rails c”是不是使用sqlite3 vs mysql?

更新时间:

* @bfavaretto礼貌 MySQL my.cnf location on OS X?

By default, the OS X installation does not use a my.cnf, and MySQL just uses the default values. To set up your own my.cnf, you could just create a file straight in /etc. 

OS X是/ usr /本地/ mysql /下支撑文件提供了示例配置文件/

更新:
看看这个: https://stackoverflow.com/questions/4788381/getting-cant-connect-through-socket-tmp-mysql-when-installing-mysql-on-m

+0

我的Rails应用程序可以肯定的是用mysql。顺便说一句,我找不到任何my.cnf /Applications/MAMP/MAMP.app/Contents/Resources(我真的不习惯osx,来自Ubuntu的河流......)我能找到它吗? – Newben

+1

查看更新的答案。我认为它只是错过了正确的位置/指针到您的工作mysql –

+0

谢谢,但在你指出,这个文件夹/ usr/local/mysql/support-files /缺少... – Newben

相关问题