2013-06-24 91 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

相關問題