2015-02-24 43 views
0

我有Openshift RoR應用程序。當我嘗試運行它使用DB一些rake任務,它給我的錯誤:Openshift RoR。不能通過mysql.sock連接到數據庫

rake aborted! 
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

當我把我的應用程序第1次出現了在database.yml中沒有插座值,我加了後來試圖解決這個問題,將其設置爲env變量的套接字,即: 「/ var/lib/openshift/some_key /mysql//socket/mysql.sock 」在mysql.log中我也有同樣的套接字。所以我不明白這個「/var/lib/mysql/mysql.sock」來自哪裏。我想我需要以某種方式重建我的應用程序,但它現在只能重新啓動「推送」。或者這是錯誤的想法?

編輯:這是我的.openshift/config的database.yml。正如我所提到的,我在第一次推後添加了「soket:<%= ENV ['OPENSHIFT_MYSQL_DB_SOCKET']%>」。我只是嘗試'force_clean_build'標記,但它並沒有幫助。

development: 
    adapter: mysql2 
    database: database 
    username: root 
    password: psswd 
    host: localhost 
test: 
    adapter: mysql2 
    database: database 
    username: root 
    password: psswd 
    host: localhost 
production: 
    adapter: mysql2 
    database: "<%=ENV['OPENSHIFT_APP_NAME']%>" 
    username: "<%=ENV['OPENSHIFT_MYSQL_DB_USERNAME']%>" 
    password: "<%=ENV['OPENSHIFT_MYSQL_DB_PASSWORD']%>" 
    host:  <%=ENV['OPENSHIFT_MYSQL_DB_HOST']%> 
    port:  <%=ENV['OPENSHIFT_MYSQL_DB_PORT']%> 
    soket: <%=ENV['OPENSHIFT_MYSQL_DB_SOCKET']%> 
+0

你可以發佈你的database.yml文件的樣本嗎? (刪除任何用戶名和密碼 – 2015-02-24 18:57:56

回答

1

原來的服務器沒有在部署時運行所有必需的rake:db任務。這就是爲什麼我得到'我們很抱歉...'的錯誤。並運行通過ssh耙任務,你需要添加「RAILS_ENV =生產」在它之前,像這樣:

RAILS_ENV=production rake db:setup 

這2個問題(不一定是連接),使得它看起來對我來說,好像有問題,DB配置。

相關問題