我想连接到远程MySQL主机(使用rake db:create
),但Rails始终认为它是本地的。 database.yml中它采用以下配置:使用Rails连接远程MySQL主机的问题
defaults: &defaults
encoding: unicode
adapter: mysql
username: <username>
password: *************
port: 3306
host: <remote ip address>
development:
<<: *defaults
database: <db name>
test: &test
<<: *defaults
database: <db name>
production:
<<: *defaults
database: <db name>
和数据库上尝试任何时候总是出现此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
的配置工作,只要我使用本地数据库(即不主机/端口部分)。 连接到远程MySQL服务器可以很好地处理给定的细节。
有什么问题出错了吗?
编辑: 的问题仅发生rake:db:create
,其他任务 - 错误信息是实在太差了误导。
可以粘贴完整的database.yml吗?以及你使用哪个环境?我想你可以在某处定义一个套接字配置。 – shingara 2010-11-16 14:50:10
(请参阅编辑,似乎是一个奇怪的错误消息) – 2010-11-16 14:58:07
检查您的防火墙/路由器设置,它似乎没有TCP连接或端口被阻止。 – 2010-11-16 15:28:32