使用Openshift上的Sequel连接到mysql

使用Openshift上的Sequel连接到mysql,mysql,ruby,openshift,sequel,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[:su

我正在开发一个使用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}')
我得到的只是内部服务器错误

有谁能给我一些关于如何连接的提示吗

谢谢

  • 端口和主机通过“/”分隔,但应为“:”(冒号)
  • 您忘记了数据库名
  • 正确连接字符串的示例:

    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}')
    

    谢谢,我尝试了各种排列方式,但最终还是奏效了

    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(:adapter=>'mysql', :host=>db_host, :database=>"prescreen", :user=>db_user, :password=>db_pass)
    
    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(:adapter=>'mysql', :host=>db_host, :database=>"prescreen", :user=>db_user, :password=>db_pass)