gpt4 book ai didi

mysql - 使用 Rails 连接到远程 MySQL 主机时出现问题

转载 作者:可可西里 更新时间:2023-11-01 06:51:51 24 4
gpt4 key购买 nike

我想连接到远程 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 服务器可以正常使用给定的详细信息。

有什么问题吗?

编辑:该问题仅发生在 rake:db:create 中,其他任务有效 - 错误消息确实具有严重的误导性。

最佳答案

您可能需要启用 MySQL 服务器以接受远程请求(通过绑定(bind)到主机的 ip 地址或所有地址格式 0.0.0.0)。在远程主机上编辑 MySQL 配置文件 my.cnf。在 Ubuntu 中,您可以在 /etc/mysql/my.cnf

中找到该文件

改变绑定(bind)地址的值:

bind-address            = 0.0.0.0

关于mysql - 使用 Rails 连接到远程 MySQL 主机时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4195255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com