RubyonRails连接MAMP下MySql失败的解决方法

本主题由 隐藏人物 创建于 2008-4-28 17:05:16

按照Creating a weblog in 15 minutes的方法创建了一个小程序,数据库使用了MAMP下的MySql。不过运行失败。

原因是数据库连接失败。

返回的页面包括了以下提示:

Errno::ENOENT in TodorController#new

No such file or directory - /tmp/mysql.sock

RAILS_ROOT: ./script/../config/..

Headers: {"cookie"=>[], "Cache-Control"=>"no-cache"}

解决的办法是:让程序的yml知道你的mysql.sock所在。

假如你的MAMP是存放在了系统的“应用程序”目录里。你的mysql.sock应该在:

/Applications/MAMP/tmp/mysql/mysql.sock

编辑程序目录下,app/config里的database.yml,在每个单元加入:
socket: /Applications/MAMP/tmp/mysql/mysql.sock

比如我这次的yml是这样的:

development:
adapter: mysql
database: todor_development
socket: /Applications/MAMP/tmp/mysql/mysql.sock
host: localhost
username: root
password: root

test:
adapter: mysql
database: todor_test
socket: /Applications/MAMP/tmp/mysql/mysql.sock
username: root
password: root

production:
development

保存好,再重启一下WEBrick(终端里在程序目录下执行./script/server)应该就行了。

放心注册,GeeKaa不会虚耗你半点时间,你只会发现更多乐趣。 立即注册