hat jemand in letzter Zeit Probleme mit diesem Prozess?heroku Schienen app: test RDS mysql wie von Heroku Juni 2016 Artikel vorgeschlagen?
Ich habe am Ende eine neue grundlegende Rails App erstellen, auf Heroku bereitstellen und dann versuchen, RDS-Konnektivität hinzuzufügen. hoffe wirklich jemand kann meine fehler erkennen ich werde verrückt!
warum selbst wenn sie versuchen, ‚Mode‘ lokal auszuführen Produktion, die immer noch versuchen, localhost db Benutzer verwenden/pass ?? ich frage mich, ob es einige config versteckt in schienen irgendwo
zweiten schritt, habe ich etwas offensichtliches verpasst? Ich habe eine grundlegende app von absoluten Grund auf neu versucht den Führungen nach allen, kann immer noch nicht verbinden
der Fehler kann über Socke einen Hinweis auf schlechte Config an anderer Stelle nicht anschließen, sollte es keine Steckdosen verwendet werden, nur Portzugang?
dank Ben
gefolgt
- dies für grundlegende Heroku App https://devcenter.heroku.com/articles/getting-started-with-rails4
- diese dann rds für https://devcenter.heroku.com/articles/amazon-rds
- dann dieses i rechts cert hatte doppeltzukontrollieren: Specify SSL for Heroku external MySQL database connection
App wie folgt
konfiguriert- aktualisiert Schienen App database_url
- RDS erstellt in North Virgina (dies ist der gleiche wie Heroku ich glaube, aber über Latenz nur noch lässt sich keine Sorgen) verwenden
- Sicherheitsgruppe
inbound port 3306 0.0.0.0/0
(zuerst versuchte ich spezifische rds erstellt Gruppe, dann versuchte ich die vollständige Standardeinstellung, basierend auf dieser: Connecting Heroku to RDS using MySql2) - einrichten SSL in Gran ts
GRANT USAGE ON *.* TO '<usr>'@'%' REQUIRE SSL;
- hinzugefügt cert Heroku Repo (Auszug siehe unten)
DATABASE_URL=mysql2:://<usr>:<pwd>@pure-reaches-94579.cfc59p8se1g1.us-east-1.rds.amazonaws.com/purereaches?sslca=config/amazon-rds-ca-cert.pem
- Instanz rds neu gestartet hinzugefügt (
amazon-rds-ca-cert.pem
alle Zwischenprodukte darin zu haben scheint) bei jeder versuchen - Ich habe versucht, selbst einfache RDS Passwörter zu denken
nächster Schritt der Untersuchung, dass komplexe irgendwie mit der uRL messed
ich versucht, die Produktion vor Ort zu laufen, aber Datenbank-URL verwenden, um RDS zu verbinden:
$ export RACK_ENV="production"
$ export RAILS_ENV="production"
$ export SECRET_KEY_BASE="blah"
$ export DATABASE_URL="mysql2:://usr:[email protected]/purereaches?sslca=config/amazon-rds-ca-cert.pem"
$ rails server -e production
...
Mysql2::Error (Access denied for user 'root'@'localhost' (using password: NO)):
mysql2 (0.4.5) lib/mysql2/client.rb:89:in `connect'
...
dies zeigt, dass die Standard-Schienen-app config lokalen Host noch
zu verbinden versucht, was ich bin hier fehlt! ?
Details
nicht über ssl auf cli anmelden können - offensichtlich nicht gut
$ mysql -h pure-reaches-94579.cfc59p8se1g1.us-east-1.rds.amazonaws.com -u <usr> -p purereaches --ssl-ca=$HOME/Documents/repositories/baseherokuapp/baseherokuappconfig/amazon-rds-ca-cert.pem --ssl-verify-server-cert
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed
Schienen app nicht
gibt mysql2::Error (Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)):
info
ich bin besorgt, es ist immer noch versuchen zu verwenden sock
... ist das ein red herring?
database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: 5
# for next step test
# rails app error saying cannot connect to root @ localhost!
development:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
gewährt Tisch
mysql> show grants;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]% |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'purereaches'@'%' IDENTIFIED BY PASSWORD <secret> REQUIRE SSL WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.22 sec)