Кажется, что если Heroku возвращается к Amazon AWS, несмотря на ваш DATABASE_URL, то это потому, что ему отказано в доступе к вашей базе данных MySQL.

у использовать базу данных MySQL, которая размещена на моем собственном сервере. Я изменил конфигурационные переменные DATABASE_URL и SHARED_DATABASE_URL, чтобы они указывали на мой сервер, но он все еще пытается подключиться к серверам heroku amazonaws. Как мне это исправить?

Ответы на вопрос(3)

st. Оказалось, что решением было сказать Dreamhost, что все в порядке, чтобы принимать соединения от этого внешнего хоста. В противном случае Dreamhost блокирует все запросы к MySQL, которые не исходят от их систем.

Кажется, что если Heroku возвращается к Amazon AWS, несмотря на ваш DATABASE_URL, то это потому, что ему отказано в доступе к вашей базе данных MySQL.

хост - это XXXX.amazonaws.com, где XXX - это длинный хост, который, вероятно, меняется. Если вы можете добавить подстановочный знак, это самый простой%.amazonaws.com

Решение Вопроса

Heroku документацияменяетсяDATABASE_URL это правильный путь.

Если вы хотите, чтобы ваше приложение rails подключалось к базе данных, не предоставленной Heroku, вы можете воспользоваться этим же механизмом. Просто установите конфигурационную переменную DATABASE_URL так, чтобы она указывала на любую доступную для облака базу данных, и Heroku автоматически создаст файл database.yml, чтобы он указывал на выбранный вами сервер. Надстройка Amazon RDS делает это автоматически, хотя вы также можете использовать этот же метод для подключения к базам данных не RDS.

Вот пример, который должен работать:

heroku config:add DATABASE_URL=mysql://user:[email protected]/db

Вам может потребоваться выполнить повторное развертывание, внеся изменения и запустивgit push heroku master

 Arty16 янв. 2011 г., 23:09
Сделал это, но это не помогло. В журналах говорится, что Mysql :: Error (доступ запрещен для пользователя 'mydbname'@'ec2-184-72-153-138.compute-1.amazonaws.com' (используя пароль: YES)):
 Arty19 янв. 2011 г., 10:23
оказалось, что я использовал неправильный пароль: /
 Arty16 янв. 2011 г., 23:10
поэтому он использует db_name, которое я указал в DATABASE_URL, но все еще пытается подключиться к серверу amazonaws
 Andy Lindeman16 янв. 2011 г., 23:12
Интересно. Я обновил свой ответ, добавив поле пароля. Вы тоже это указываете? Я продолжу копать немного, если так.
 Arty17 янв. 2011 г., 02:57
да, я использую полный URL с именем пользователя и паролем

Ваш ответ на вопрос