Ruby on Rails - 建立与外部数据库/ MySQL错误4的连接

时间:2016-04-15 15:55:09

标签: mysql ruby-on-rails ruby

我正在尝试从观察服务器代理图像并更新database.yml,如下所示(注意它不是在productiondevelopment下缩进,因为它是相同的数据库而我宁愿没有两次定义相同的凭证):

production:
  ..

observium:
  adapter: mysql2
  database: observium
  username: username
  password: password
  host: observium.domain.com
  port: 3306
  wait_timeout: 86400


development:
  ..

然后在全新的课程observium_port.rb

class ObserviumPort < ActiveRecord::Base

  establish_connection :observium

  self.table_name = 'ports'

  def self.get_port(circuit)
    result = ObserviumPort.find(
      :first,
      :conditions => ['port_descr_circuit = ?', circuit.id],
      :order => 'ifName ASC',
      :limit => 1
    )

    return result.port_id
  end

end

只需port = ObserviumPort.get_port(circuit).to_s即可从另一个班级调用。

问题是这在我的本地计算机上完全正常,但在登台服务器上,我收到以下错误:

Mysql2::Error (Can't connect to MySQL server on 'observium.domain.com' (4)):

然而,最奇怪的是,从登台服务器上的命令行连接完全正常(mysql -u username -p password -h observium.domain.com)。

我尝试使用ip地址来避免DNS查找,但错误仍然相同。

mysql2 gem版本也有细微差别,但两个环境现在都运行完全相同的版本。

0 个答案:

没有答案