2012-03-19 23 views
1

最後部署我的Ruby on Rails的3.2應用程序,但試圖從瀏覽器我得到一個500錯誤打開它的時候(production.log給出)Rails的生產:沒有這樣的文件或目錄 - 錯誤production.log打開數據庫

Errno::ENOENT (No such file or directory - Problem opening database) 
  • 安裝RVM軌道3.2紅寶石最新
  • 工作帽部署與nginx的和麒麟
  • 耙分貝:遷移RAILS_ENV =生產在生產終端=>沒有錯誤

我生產的database.yml(包括試圖與不路徑MySQL的插座時,mysqld從終端運行正常的MySQL我可以連接並查看數據庫中的所有表)

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: paintings_production 
    pool: 5 
    username: paintings 
    password: mypass 
    socket: /var/lib/mysql/mysql.sock 
+0

嘗試使用應用實例的PID strace的。你會得到很多輸出,但它會告訴你哪個open()嘗試導致ENOENT。 – noodl 2012-03-21 23:23:40

+0

你能解釋多一點,請我不認爲我明白你的意思怎麼究竟這個。什麼pid?獨角獸的過程? – Rubytastic 2012-03-21 23:30:35

+0

是的。以root身份運行strace命令,指定要觀看的進程的pid。我假設Linux;有其他操作系統的替代品。它會顯示你的系統調用及其結果。看到男士strace。 – noodl 2012-03-21 23:33:03

回答

1

既然你confimed你的套接字文件存在:

/var/lib/mysql/mysql.sock

...但該錯誤消息說,沒有這樣的文件或目錄,你有一個權限問題。

或者,也許你的mysql服務器沒有配置正確使用相同插座?

你可以找到一個完整的mysql /導軌Unix套接字這裏調試信息:Ruby on Rails 3 Can't connect to local MySQL server through socket '/tmp/mysql.sock' on OSX

+0

THX還沒有固定的看着它,但會希望解決這個問題。 – Rubytastic 2012-03-28 21:07:09

相關問題