Ruby on rails can';无法连接到ec2服务器上的rds,缺少mysql套接字
我有一个ec2服务器和rds服务器。 以及RubyonRails应用程序 使用以下设置连接到rds在本地环境中对我有效: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
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
仍然不起作用..:(我将用我看到的更多内容更新我的问题重新启动实例,然后重试。同时检查您是否已在实例上安装了我的客户端库