我有一个 ec2 服务器和 rds 服务器。 和一个 Ruby On Rails 应用程序 使用这些设置连接到 rds 在本地 ENV 中对我有用:
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 文件 所以我得到这个错误:
FATAL: failed to connect to MySQL (error=Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2))
我需要安装什么才能使用 socket ?
谢谢
更新:
我删除了套接字定义和端口。 我使用 capistrano 进行部署,现在我通过 ssh 连接到我的服务器并转到“当前”文件夹。在那里我尝试运行:rake ts:start 我得到以下信息:
rake aborted! Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
但我的 database.yml 文件中甚至没有套接字定义
最佳答案
从 database.yml 文件中删除套接字和端口号,然后尝试,它会工作。
关于ruby-on-rails - 无法连接到 ec2 服务器上的 rds,缺少 mysql 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830088/