我想要做的就是在Heroku上使用RDS上的db實例部署我的Rails應用程序,這看起來應該很簡單。使用MySql2將Heroku連接到RDS
我在我的database.yml
中使用mysql2適配器,並推送到heroku,並按照this answer添加了我的db實例。我基本上跟着它到了T,並且我沒有得到missing gem
錯誤。但是,這是什麼heroku logs
透露:
/app/vendor/bundle/ruby/1.9.1/bundler/gems/mysql2-e5992664a7bc/lib/mysql2/client.rb:56:in connect': Can't connect to MySQL server on 'nickcoxrails.cud3e2tma07q.us-east-1.rds.amazonaws.com' (110) (Mysql2::Error)
另請注意,我的RDS實例是在美國東部,這是我聽到的是一個問題here。
在我的Gemfile,我有:
gem 'mysql2', :git => 'git://github.com/brianmario/mysql2.git'
我mysql2寶石,因爲它是我能得到它在本地工作(因爲使用的版本的唯一途徑< 0.3%是第一個回答給了我一個錯誤在我的本地Rails服務器上,因爲我在Rails 3.2.6上),嘗試了很多東西(我真的無法讓mysql在本地機器上運行)。
我已經明確地按照this answer添加了安全組,並且已經按照this answer添加了mysql2數據庫。我還在我的heroku帳戶中添加了RDS插件。我跑rake db:create
和rake db:schema:load
和rake db:migrate
和一切,但因爲我出口我的本地數據庫到我的RDS實例(我需要保持數據完整),沒有的,做任何新的東西。我可以通過Sequel Pro連接到我的RDS實例,所以我知道它不是憑證問題。
這是我的第一個Rails應用程序部署,所以不要害怕貶低你的答案,並給我相當於「是否插入?」針對heroku/Rails/RDS /等的技術支持問題。
您可能想嘗試按照官方文檔使用[RDS插件](https://devcenter.heroku.com/articles/amazon_rds)。 –
感謝您的建議。請注意,在我的問題中,我提到了附加組件。當我'heroku conifig:得到DATABASE_URL'時,它迴應了我的RDS數據庫,所以我假設設置正確。這是一個合理的假設嗎? – nickcoxdotme
對不起,錯過了閱讀這個問題。如果'DATABASE_URL'設置了您的RDS實例,則表明它已正確設置。你是否在安裝插件後運行'rds-authorize-db-security-group-ingress'?錯誤消息表明這可能是問題。 –