mysql - 在 Openshift 上使用 Sequel 连接到 mysql

标签 mysql ruby openshift sequel

我正在使用 Cloud9 以及 Ruby 和 Sinatra 开发一个网站,并且正在部署到 Openshift。我已经为 mySQL 和 PhpMyAdmin 设置了墨盒。我遇到的问题是使用 Sequel 连接到数据库。

这就是我所拥有的

DBS = Sequel.connect('mysql://OPENSHIFT_MYSQL_DB_USERNAME:OPENSHIFT_MYSQL_DB_PASSWORD@OPENSHIFT_MYSQL_DB_HOST:OPENSHIFT_MYSQL_DB_PORT')
heros = DBS[:superheros]
get '/mysql' do
  "#{heros.first[:name]}"
  #"mysql"
end

我也尝试过

db_user = ENV['OPENSHIFT_MYSQL_DB_USERNAME']
db_pass = ENV['OPENSHIFT_MYSQL_DB_PASSWORD']
db_host = ENV['OPENSHIFT_MYSQL_DB_HOST']
db_port = ENV['OPENSHIFT_MYSQL_DB_PORT']
DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}/#{db_port}')

我得到的只是内部服务器错误

任何人都可以向我提供一些有关如何连接的提示吗?

谢谢

最佳答案

DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}/#{db_port}')  

How to connect to DB with Sequel

  1. 端口和主机通过“/”分隔,但应为“:”(冒号)
  2. 您忘记了数据库名称。

正确的连接字符串示例:

mysql://user:password@host:port/database

尝试类似的事情

db_user = ENV['OPENSHIFT_MYSQL_DB_USERNAME']  
db_pass = ENV['OPENSHIFT_MYSQL_DB_PASSWORD']  
db_host = ENV['OPENSHIFT_MYSQL_DB_HOST']  
db_port = ENV['OPENSHIFT_MYSQL_DB_PORT']  
db_name = ENV['OPENSHIFT_APP_NAME']  
DBS = Sequel.connect('mysql://#{db_user}:#{db_pass}@#{db_host}:#{db_port}/#{db_name}')

关于mysql - 在 Openshift 上使用 Sequel 连接到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224424/

相关文章:

MYSQL - 连接 3 个表按月分组,包括空月

MySQL:根据条件删除重复字段,同时保留所有其他数据

ruby - 在 raspbian 上使用破折号时出错

docker - 如何在openshift中部署apache服务器?

php - 为什么$_SESSION不携带数据到单独的PHP文件?

mysql - 使用 MySQL 在创建的 VIEW 中看不到 NULL 值

ruby - 使用 ObjectId 时无法使用 Ruby 和 MongoDB 找到文档

ruby - RSpec 2之前(:suite) variable scope

git - Openshift Plone 快速启动权限被拒绝

java - Openshift 部署 F8 : Cannot access cluster for detecting mode: sun. security.validator.ValidatorException