我无法通过Ruby和DBI gem连接到远程服务器上的MySQL数据库。
对于此示例,数据库主机的地址为000.00.00.000,数据库的名称为testdb
。
username
应该是我的个人用户名吗?我用服务器或特定的MySQL用户名SSH连接到服务器?
password
应该是我的个人密码我是SSH还是我用过的MySQL密码?
我是否需要指定端口或其他任何IP地址?
以下是我目前正在尝试使用的代码,我发现on this tutorial
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
我的终端有这个和那个功能的密码。
我应该在DBI connect语句中添加什么才能通过Ruby正确连接?
答案 0 :(得分:1)
假设您在本地计算机上运行MySQL服务器,请尝试将连接线更改为:
dbh = DBI.connect("DBI:Mysql:testdb:127.0.0.1",
"root", "<rootmysqlpassword>")