【问题标题】:Can't connect to remote mysql db with rails无法使用 rails 连接到远程 mysql 数据库
【发布时间】:2012-05-18 22:20:56
【问题描述】:

我无法使用 mysql2 gem 连接到远程 mysql 数据库。

我收到此错误:

Host 'my_ip' is not allowed to connect to this MySQL server

我的 db.yml 说:

remote_development:
  adapter: mysql2
  reconnect: false
  host: host_ip
  encoding: utf8
  database: host_db
  pool: 5
  username: root
  password:

当我尝试通过我的 sql 或 telnet 连接时,我完全没有问题。我已经两次和三次检查了我的 yml 中的数据,但无法通过这个。有什么想法吗?

顺便说一句,我使用的是 Rails 3.2.3、Ruby 1.9.3,并尝试了 mysql2 v 0.2.18 和 0.3.11 ...请帮助!

【问题讨论】:

  • 您确定,您输入的密码正确吗?并确保键和值之间有一个空格(“”)。例如:password: my_password 而不是 password:my_password
  • 我也没工作....

标签: mysql ruby-on-rails ruby database remote-access


【解决方案1】:

我解决了这个问题,很简单...

我刚刚为数据库创建了一个具有特定权限的新用户和密码,而不是使用 root :)

应该从一开始就尝试这个。 我认为这是正确的做法。

【讨论】:

    【解决方案2】:

    这似乎是一条 MySQL 错误消息。我认为问题可能出在您使用的用户帐户上。设置时应使用'username'@'%' 格式设置。百分号表示所有 IP 地址。然后,您应该在服务器上flush privileges 以使该帐户可用。

    【讨论】:

    • 我做到了:c。我无法从 mysql 控制台毫无问题地访问。这是错误所在的轨道,但我不知道是我的错误还是某些宝石不兼容
    【解决方案3】:

    发展:

    适配器:mysql2

    编码:utf8

    重新连接:假

    数据库:mystore_development

    池:5

    用户名:root

    密码:密码

    主机:本地主机

    试试这个肯定会奏效...

    【讨论】:

    • 有时他们使用制表符而不是空格,请检查一下
    • 在你的数据库中创建数据库 mystore_development
    • 这与我现在所做的有什么不同?除了将主机设置为本地。我的本地数据库没有问题,我的问题是远程连接。
    【解决方案4】:

    更改您的 host:localhost 并再次尝试它会起作用

    【讨论】:

    • 但我尝试使用的数据库在另一台服务器上
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    相关资源
    最近更新 更多