Ruby on rails can';无法连接到ec2服务器上的rds,缺少mysql套接字

Ruby on rails can';无法连接到ec2服务器上的rds,缺少mysql套接字,ruby-on-rails,amazon-web-services,amazon-rds,Ruby On Rails,Amazon Web Services,Amazon Rds,我有一个ec2服务器和rds服务器。 以及RubyonRails应用程序 使用以下设置连接到rds在本地环境中对我有效: host: myappnameandhash.us-west-2.rds.amazonaws.com adapter: mysql2 encoding: utf8 reconnect: false database: mainDb pool: 20 username: root password: xxxx socket: /var/run/mysqld/mysqld.soc

我有一个ec2服务器和rds服务器。 以及RubyonRails应用程序 使用以下设置连接到rds在本地环境中对我有效:

host: myappnameandhash.us-west-2.rds.amazonaws.com
adapter: mysql2
encoding: utf8
reconnect: false
database: mainDb
pool: 20
username: root
password: xxxx
socket: /var/run/mysqld/mysqld.sock
port: 3306
但是在我的EC2服务器上,我没有mysqld.sock文件 所以我得到了这个错误:

致命:无法连接到MySQL(错误=无法通过套接字'/var/run/mysqld/mysqld.sock'(2))连接到本地MySQL服务器)

我需要安装什么才能安装插座

谢谢

更新:

我删除了套接字定义和端口。 我使用capistrano进行部署,现在我使用ssh连接到服务器并转到“当前”文件夹。在那里我试着跑:耙ts:开始 我得到以下信息:

雷克流产了! 无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器


但是我的database.yml文件中甚至没有套接字定义了

请从database.yml文件中删除套接字和端口号,然后再试一次,它会工作。

您必须指定RDS的“主机”,并在RDS中配置安全组以允许您的实例连接到它。

我知道这已经有一段时间了,我的EC2服务器刚刚连接到RDS时遇到此问题。我想分享一下我是如何解决这个问题的

首先从数据库中删除
套接字
端口
。yml帮助

#In your database.yml

development:
  #some configuration

staging:
  #some configuration

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 20
  host: url.to.rds.server
  database: your-database
  username: your-username
  password: your-password
要在生产环境中运行此rake命令,您需要指定您的
rails env
,例如,如果您使用的是
production
环境,它应该是

bundle exec rake ts:start RAILS_ENV=production

仍然不起作用..:(我将用我看到的更多内容更新我的问题重新启动实例,然后重试。同时检查您是否已在实例上安装了我的客户端库