我无法通过 Ruby 和 DBI gem 连接到远程服务器上的 MySQL 数据库。
在本例中,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
我的终端中有这个和那个功能的密码。
我应该在 DBI 连接语句中添加什么以通过 Ruby 正确连接?