首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >heroku rails应用程序:像Heroku 2016 6月的文章所建议的那样测试RDS mysql?

heroku rails应用程序:像Heroku 2016 6月的文章所建议的那样测试RDS mysql?
EN

Stack Overflow用户
提问于 2016-11-07 08:54:40
回答 1查看 312关注 0票数 0

最近有没有其他人对这个过程有意见?

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

  1. 为什么即使在本地运行生产“模式”时,它仍然试图使用db用户/传递本地主机??--我想知道rails中是否隐藏了一些配置。
  2. 第二步,我错过了一些显而易见的东西吗?,我已经尝试了一个基本的应用程序,从头到尾遵循所有的指南,仍然无法连接
  3. 错误不能通过sock连接其他地方的错误配置,它不应该使用任何套接字,只使用端口访问?

谢谢本

跟随

应用程序配置如下:

  • 更新rails应用程序以使用database_url
  • 在北弗吉尼亚创建的RDS (我相信这和heroku一样,但不要担心延迟)
  • 安全组inbound port 3306 0.0.0.0/0 (我首先尝试了特定的rds创建组,然后尝试了完全默认,基于这个:Connecting Heroku to RDS using MySql2)
  • 在授予GRANT USAGE ON *.* TO '<usr>'@'%' REQUIRE SSL;中设置SSL (请参阅下面的摘录)
  • 在heroku回购中添加了cert (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:

代码语言:javascript
复制
    $ 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应用程序配置仍然试图连接到本地主机。

我在这里错过了什么!?

详细信息

不能通过ssl登录cli -显然不是很好的

代码语言:javascript
复制
    $ 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.这是红鲱鱼吗?

database.yml

代码语言:javascript
复制
    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'] %>

赠款表

代码语言:javascript
复制
     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)
EN

回答 1

Stack Overflow用户

发布于 2016-11-23 06:15:43

看来我盯着同样的东西太久了。感谢heroku支持我指出,我有两个":“在我的字符串!我真是个小木偶

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40461146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档