繁体   English   中英

无法将Ruby on Rails连接到远程mysql数据库

[英]Can't connect Ruby on Rails to remote mysql database

我正在尝试将Rails 3应用程序连接到Godaddy服务器上托管的mysql数据库。 我可以使用mysql客户端进行远程连接,但运行applicaton时无法连接。 我能够在本地mysql上进行连接,但是当我尝试连接到远程托管数据库时,出现此错误:

Mysql2 :: Error(无法连接到“ [主机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机器上开发应用程序。

  • 在您的my.cnf ,查找以下行:

     bind-address = 127.0.0.1 

    并将地址设置为0.0.0.0

  • 访问mysql

     mysql -u root -p 
  • 比在mysql服务器上创建用户并向所有用户授予特权:

     CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; 

我猜想,按照我的原始评论,您的远程数据库拒绝了除本地主机以外的任何连接。 基于该假设,这里有两个解决方案:

  1. 使用ssh隧道。 有大量的howto用于通过ssh隧道进行连接,例如, http : //www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

  2. 确保您的远程数据库正在接受远程连接。 在以下stackoverflow线程上签出可接受的答案无法连接到MySQL服务器错误111

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM