Ruby と DBI gem を介してリモート サーバー上の MySQL DB に接続できません。
この例では、DB ホストのアドレスは 000.00.00.000 で、DB の名前は ですtestdb
。
username
サーバーにSSHで接続する個人のユーザー名または特定のMySQLユーザー名を使用する必要がありますか? password
SSH で使用する個人のパスワードにするか、接続後に使用する MySQL パスワードにする必要がありますか? IP アドレスとともにポートなどを指定する必要がありますか?
このチュートリアルで見つけた、現在使用しようとしているコードは次のとおりです
require 'rubygems'
require 'mysql'
require 'dbi'
#connect to mysql database
begin
# connect to the MySQL server
dbh = DBI.connect("DBI:Mysql:testdb:000.00.00.000",
"username", "password")
# get server version string and display it
row = dbh.select_one("SELECT VERSION()")
puts "Server version: " + row[0]
rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure
# disconnect from server
dbh.disconnect if dbh
end
私が実行すると:
Error code: 2003
Error message: Can't connect to MySQL server on ... (60)
SSH では、現在、次のコマンドで MySQL にアクセスしています。
mysql -u root testdb -p
私は自分の端末でこれとそれが機能するためのパスワードを持っています。
Ruby経由で正しく接続するには、DBI接続ステートメントに何を入れるべきですか?