我正在使用 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
- 端口和主机通过“/”分隔,但应为“:”(冒号)
- 您忘记了数据库名称。
正确的连接字符串示例:
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/