【问题标题】:Mysql error in Phusion Passenger in rails appRails 应用程序中 Phusion Passenger 中的 Mysql 错误
【发布时间】:2015-01-28 09:08:40
【问题描述】:

我仅在部署时遇到此错误。事实上,在部署服务器中,rails db production 工作正常。但是在通过浏览器加载应用程序时,这是我得到的错误:

Error message:
    (Mysql2::Error)
Exception class:
    PhusionPassenger::UnknownError

生产日志只是循环显示Connecting to database specified by database.yml

这是一个共享托管服务,他们一直无法找出问题所在。知道可能是什么原因吗?

我不得不提一下,这个应用程序在 6 小时前运行良好,并且超过一天没有对应用程序进行任何更改。

【问题讨论】:

标签: mysql ruby-on-rails ruby-on-rails-3 passenger


【解决方案1】:
  1. 确保您的生产环境设置正确(gems、keys、database...)。也许您安装了错误版本的 mysql2 gem?
  2. 仔细检查您的 database.yml 文件是否有任何拼写错误。
  3. 也可能是与数据库建立连接的时间过长。尝试增加timeoutpool 的大小。

另外看这里:http://davidlesches.com/blog/fixing-a-connecting-to-database-specified-by-database-yml-loop

还有一些问题:

  • 您是否尝试在本地以生产模式运行服务器 机器?
  • 应用程序是否在服务器上以测试模式运行?
  • 是否有任何 MySQL 或 Phusion 乘客日志文件可以与我们共享?

【讨论】:

  • 应用程序直到昨天都很好。 rails db production 也连接到正确的数据库。而且,在 David 的博客中,甚至 ActiveRecord::Base.connected? 也返回了 true
  • 您能与我们分享您的日志文件(MySQL、Passenger)吗?
  • 尝试rails console production 然后输入ActiveRecord::Base.connection.current_database 以检查您是否真的连接到正确的数据库。如果可以的话,可以尝试将mysql2 gem 从版本0.3.15 升级到当前版本0.3.17
  • 并非如此。您是否使用正确的帐户尝试了所有这些命令,您可以与我们分享您的 database.yml 文件吗?
  • 尝试将pool 的大小增加到更大的值,例如25。如果这无济于事,请尝试重新启动您的服务器,即使这不是真正的解决方案,或者请您的服务器提供商访问日志文件。
猜你喜欢
  • 2015-01-16
  • 1970-01-01
  • 2019-04-12
  • 2014-11-09
  • 2016-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多