我遇到了mysql2 gem的奇怪问题。我有一个Dreamhost VPS和一个Dreamhost MySQL VPS。从VPS到MySQL VPS,以下database.yml工作正常:
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: [redacted]
pool: 15
username: [redacted]
password: [redacted]
host: mysql.medlapps.com
但是,在我的MacBook上运行rails s -e=production
或相同的代码我们新的Limestone专用服务器会导致连接错误:
/Library/Ruby/Gems/1.8/gems/mysql2-0.3.7/lib/mysql2/client.rb:43:in `connect': Can't connect to MySQL server on 'mysql.medlapps.com' (61) (Mysql2::Error)
MySQL VPS允许Dreamhost网络之外的连接。使用Liya(Mac OS X MySQL GUI客户端)以及telnet mysql.medlapps.com 3306
两者都可以连接,没有任何问题。这只是mysql2 gem的一个问题,或者配置它。
编辑:mysql -h mysql.medlapps.com -u [redacted] -p[redacted]
也适用于我们的新专用服务器。这让我相信它是mysql2驱动程序/ Rails的问题或它们的配置方式。
编辑2:原来这不是MySQL或mysql2 gem的问题。其他东西在启动时无法加载。运行一个基本的hello世界Rails应用程序在我们的新专用盒上运行良好。但是我们遇到的问题是我们的网站应用程序无法在生产模式下运行。服务器挂起并且不提供任何错误。我们在发现问题时会保持更新。
非常感谢任何想法/帮助!