开班错误。无法通过 mysql.sock 连接到数据库

Openshift RoR. Cant connect to db through mysql.sock

我有 Openshift RoR 应用程序。当我尝试 运行 一些使用 DB 的 rake 任务时,它给我错误:

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

当我第一次推送我的应用程序时 database.yml 中没有套接字值,我稍后添加它试图解决这个问题,将它设置为套接字的 env 变量,即: "/var/lib/openshift/some_key/mysql//socket/mysql.sock “在 mysql.log 中,我也有相同的套接字。所以我不明白这个“/var/lib/mysql/mysql.sock” 是从哪里来的。我想我需要以某种方式重建我的应用程序,但它只会在 "push" 现在。或者这是错误的想法?

编辑:这是我来自 .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']%>

原来服务器没有运行部署所有必要的rake:db任务。这就是我收到 'We are sorry...' 错误的原因。要通过 ssh 运行 rake 任务,您需要在它之前添加 "RAILS_ENV=production",如下所示:

RAILS_ENV=production rake db:setup

这 2 个问题(不一定有关联)让它来找我,好像数据库配置有问题。