【问题标题】:Connecting to mysql using Sequel on Openshift在 Openshift 上使用 Sequel 连接到 mysql
【发布时间】:2015-07-04 19:29:43
【问题描述】:

我正在使用 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 ruby openshift sequel


    【解决方案1】:
    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}')
    

    【讨论】:

      【解决方案2】:

      谢谢,我尝试了各种排列,但最后都成功了

      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)
      

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多