gpt4 book ai didi

mysql - heroku rails 应用程序 :test RDS mysql as suggested by Heroku June 2016 article?

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:29 24 4
gpt4 key购买 nike

最近有其他人遇到过此过程的问题吗?

我最终创建了一个新的基本 Rails 应用程序,部署到 heroku,然后尝试添加 RDS 连接。真的希望有人能发现我的错误我快疯了!

  1. 为什么即使尝试在本地运行生产“模式”,它仍然尝试使用 db user/pass localhost?我想知道是否有一些配置隐藏在 rails 的某个地方

  2. 第二步,我是不是错过了一些明显的东西?我已经按照所有指南从头开始尝试了一个基本的应用程序,但仍然无法连接

  3. cannot connect via sock 错误是否表示其他地方的配置错误,它不应该使用任何套接字,只能使用端口访问?

谢谢本

已关注

应用配置如下

  • 更新 Rails 应用以使用 database_url
  • 在 North Virgina 创建的 RDS(我相信这与 heroku 相同,但暂时不用担心延迟)
  • 安全组 inbound port 3306 0.0.0.0/0 (首先我尝试了特定的 rds 创建的组,然后我尝试了完整的默认值,基于此:Connecting Heroku to RDS using MySql2)
  • 在赠款中设置 SSL GRANT USAGE ON *.* TO '<usr>'@'%' REQUIRE SSL; (见下文摘录)
  • 将证书添加到 heroku 存储库(amazon-rds-ca-cert.pem 似乎包含所有中间体)
  • 已添加 DATABASE_URL=mysql2:://<usr>:<pwd>@pure-reaches-94579.cfc59p8se1g1.us-east-1.rds.amazonaws.com/purereaches?sslca=config/amazon-rds-ca-cert.pem
  • 每次尝试都重新启动 rds 实例
  • 我什至尝试过简单的 RDS 密码,认为复杂的密码会以某种方式弄乱 url

下一步调查

我尝试在本地运行生产,但使用数据库 url 连接到 RDS:

    $ export RACK_ENV="production"
$ export RAILS_ENV="production"
$ export SECRET_KEY_BASE="blah"
$ export DATABASE_URL="mysql2:://usr:pwd@pure-reaches-94579.cfc59p8se1g1.us-east-1.rds.amazonaws.com/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'
...

这表明标准 Rails 应用程序配置仍在尝试连接到本地主机

我在这里错过了什么!?

细节

无法在 cli 上通过 ssl 登录 - 显然不好

    $ 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

rails 应用程序无法连接

给出 mysql2::Error (Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)):

信息

我担心它仍在尝试使用 sock ...这是一条红鲱鱼吗?

数据库.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'] %>

资助表

     mysql> show grants;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for purereaches@% |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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)

最佳答案

看来我盯着同一个东西看得太久了。感谢 heroku 支持指出我的字符串中有两个“:”!我真是个布偶。

关于mysql - heroku rails 应用程序 :test RDS mysql as suggested by Heroku June 2016 article?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40461146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com