Ich möchte mysql-Datenbank verwenden, die auf meinem eigenen Server gehostet wird. Ich habe DATABASE_URL und SHARED_DATABASE_URL config vars geändert, um auf meinen Server zu zeigen, aber es versucht immer noch, sich mit den amazonaws-Servern von heroku zu verbinden. Wie repariere ich das?Wie benutze ich einen eigenen mysql-Datenbankserver mit heroku?
Antwort
Gemäß der Heroku documentation ist die Änderung DATABASE_URL
der richtige Weg zu gehen.
Wenn Sie Ihre Rails-Anwendung mit einer nicht von Heroku bereitgestellten Datenbank verbinden möchten, können Sie den gleichen Mechanismus nutzen. Stellen Sie einfach Ihre DATABASE_URL-Konfigurationsvariable so ein, dass sie auf jede Cloud-zugängliche Datenbank verweist, und Heroku erstellt automatisch Ihre Datenbank.yml-Datei, um auf Ihren ausgewählten Server zu verweisen. Das Amazon RDS Add-on erledigt dies automatisch für Sie, obwohl Sie diese Methode auch für die Verbindung zu Nicht-RDS-Datenbanken verwenden können.
Hier ist ein Beispiel, die funktionieren sollte:
heroku config:add DATABASE_URL=mysql://user:[email protected]/db
Sie müssen möglicherweise durch eine Änderung umschichten und läuft git push heroku master
Ich hatte genau dieses gleiche Problem mit meinem Dreamhost MySQL-Datenbank. Es stellte sich heraus, dass die Lösung darin bestand, DreamHost mitzuteilen, dass es OK war, Verbindungen von diesem fremden Host zu akzeptieren. Andernfalls blockiert Dreamhost alle Anfragen an MySQL, die nicht von ihren Systemen stammen.
Es scheint, als ob Heroku trotz seiner DATABASE_URL auf Amazon AWS zurückfällt, weil es den Zugriff auf Ihre MySQL-Datenbank verweigert.
Übrigens ist der Gastgeber XXXX.amazonaws.com, wo XXX ein langer Host hame ist, der sich wahrscheinlich ändert. Wenn Sie einen Platzhalter hinzufügen können, ist das am einfachsten %.amazonaws.com
- 1. Wie benutze ich web2py auf Heroku?
- 2. Wie benutze ich Django Logging mit Heroku Papertrail & Waitress
- 3. Wie benutze ich meine eigenen Versionen von Clojure-Bibliotheken?
- 4. Wie benutze ich einen Obfuscator?
- 5. Wie benutze ich meinen eigenen Klassifikator in ensemble python
- 6. Wie erstelle ich einen eigenen PEAR Channel?
- 7. Wie richte ich einen eigenen Proxy ein?
- 8. Wie öffne/benutze ich einen Dateideskriptor
- 9. Heroku - Wie kann ich einen Schub auf Heroku rückgängig machen?
- 10. Wie benutze ich einen Plist in Android?
- 11. Wie benutze ich einen Pass mit eckiger Knoten-App?
- 12. Wie benutze ich rand_r und wie benutze ich es threadsicher?
- 13. Wie benutze ich LevelDB?
- 14. Wie benutze ich NSPR?
- 15. Wie benutze ich cscope?
- 16. Wie benutze ich browserify mit Fonts
- 17. Wie erstelle ich einen eigenen Checker in Midje?
- 18. Wie benutze ich ProGuard?
- 19. Wie benutze ich spl_autoload_register?
- 20. Wie benutze ich einen ContentPresenter in einem UserControl?
- 21. Wie benutze ich UIImagePickerControllerCropRect
- 22. Wie benutze ich sstableloader?
- 23. Wie benutze ich navigator.app.exitApp()?
- 24. Wie benutze ich FastRoute?
- 25. Wie benutze ich glslang?
- 26. Wie benutze ich jsdoc mit Schluck?
- 27. Wie benutze ich Tinyog mit Netbeans
- 28. Wie benutze ich Cookie mit Elektron & angularjs
- 29. Wie benutze ich Java-Pakete mit Groovy
- 30. Wie benutze ich mit Default Wrappers?
Hat das, aber es hat nicht geholfen. Es sagt in Protokollen, dass Mysql :: Error (Zugriff verweigert für Benutzer 'meindbname'@'ec2-184-72-153-138.compute-1.amazonaws.com' (mit password: YES)): – Arty
, so dass es db_name verwendet dass ich in DATABASE_URL angegeben, aber immer noch versucht, eine Verbindung zu Amazon Server – Arty
Interessant. Ich habe meine Antwort aktualisiert, um ein Passwortfeld hinzuzufügen. Spezifizierst du das auch? Ich werde weiter graben, wenn es so ist. –