开班错误。无法通过 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 个问题(不一定有关联)让它来找我,好像数据库配置有问题。
我有 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 个问题(不一定有关联)让它来找我,好像数据库配置有问题。