Jör*_*chs 6 mysql database ruby-on-rails
我想连接到远程MySQL主机(带rake db:create
),但Rails总是认为它是本地的.Database.yml使用以下配置:
defaults: &defaults
encoding: unicode
adapter: mysql
username: <username>
password: *************
port: 3306
host: <remote ip address>
development:
<<: *defaults
database: <db name>
test: &test
<<: *defaults
database: <db name>
production:
<<: *defaults
database: <db name>
Run Code Online (Sandbox Code Playgroud)
在数据库上尝试任何操作时总是会出现此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
只要我使用本地数据库(即没有主机/端口部分),配置就可以工作.连接到远程MySQL服务器与给定的细节工作正常.
什么是错误的任何想法?
编辑:问题只发生rake:db:create
,其他任务工作 - 错误消息真的很误导.
您可能需要启用MySQL服务器来接受远程请求(通过绑定到主机的IP地址或所有地址格式0.0.0.0
)。编辑my.cnf
远程主机上的 MySQL 配置文件。在 Ubuntu 中,您可以在以下位置找到该文件/etc/mysql/my.cnf
更改绑定地址的值:
bind-address = 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7650 次 |
最近记录: |