Я могу подключиться к базе данных MySQL с помощью host=127.0.0.1
:рубин соединение DBI MySQL
>> require 'dbi'
=> true
>> DBI.connect("DBI:Mysql:host=127.0.0.1;port=3306", "root", "password")
=> #<DBI::DatabaseHandle:0x2ae4378 @handle=#<DBI::DBD::Mysql::Database:0x2ae44f8
@handle=#<Mysql:0x2ae4600>, @attr={"AutoCommit"=>true}, @have_transactions=true
, @mutex=#<Mutex:0x2ae4390>>, @trace_output=nil, @trace_mode=nil, @convert_types
=true, @driver_name="Mysql">
Но когда я пытаюсь подключиться к одному серверу базы данных с host=localhost
, он дает мне ошибку:
>> DBI.connect("DBI:Mysql:host=localhost;port=3306", "root", "password")
DBI::DatabaseError: Can't connect to MySQL server on 'localhost' (10061)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/Mysql.r
b:106:in `error'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/d
river.rb:70:in `rescue in connect'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/d
river.rb:32:in `connect'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dbi-0.4.5/lib/dbi/handles/drive
r.rb:33:in `connect'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dbi-0.4.5/lib/dbi.rb:148:in `co
nnect'
from (irb):2
from C:/Ruby193/bin/irb:12:in `<main>'
Итак, в чем причина, по которой он не работает, и я должен проверить, предоставлен ли localhost в опции хоста, он должен быть преобразован в 127.0.0.1, а затем подключиться к базе данных.