我想连接到远程 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>
在数据库上尝试任何操作时总是会出现此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
只要我使用本地数据库(即没有主机/端口部分),该配置就可以工作。
根据给定的详细信息,连接到远程 MySQL 服务器可以正常工作。
关于出了什么问题有什么想法吗?
Edit:
该问题仅发生在rake:db:create
,其他任务工作 - 该错误消息确实具有严重的误导性。
您可能需要使MySQL服务器能够接受远程请求(通过绑定主机的ip地址或所有地址格式)0.0.0.0
)。编辑MySQL配置文件my.cnf
在远程主机上。在 Ubuntu 中,您可以在以下位置找到该文件/etc/mysql/my.cnf
更改绑定地址的值:
bind-address = 0.0.0.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)