我正在尝试将我的rails 3应用程序连接到godaddy服务器上托管的mysql数据库 . 我可以使用mysql客户端远程连接,但不能在我运行应用程序时连接 . 我能够连接本地mysql,但当我尝试连接到我的远程托管数据库时,我收到此错误:
Mysql2 ::错误(无法连接到'[主机IP地址]'上的MySQL服务器(111))
这是我的database.yml
development:
adapter: mysql2
encoding: utf8
host: host_ip_address
port: 3306
database: database_name
username: user_name
password: password
如果有帮助的话,我正在Ubuntu机器上开发我的应用程序 .
2 回答
我猜,根据我原来的评论,你的远程数据库拒绝接受来自localhost之外的任何东西 . 基于这个假设,这里有两个解决方案:
使用ssh隧道 . 有大量的howto用于连接ssh隧道,例如http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/ .
确保远程数据库正在接受远程连接 . 查看以下stackoverflow线程中接受的答案Can't connect to MySQL server error 111
my.cnf
中,查找以下行:并将地址设置为
0.0.0.0
mysql
:mysql
服务器上创建用户并向所有人授予权限: