【问题标题】:Rails 3.2 - Production server is not allowed to connect to this MySQL server (Mysql2::Error)Rails 3.2 - 生产服务器不允许连接到这个 MySQL 服务器(Mysql2::Error)
【发布时间】:2012-02-20 13:19:10
【问题描述】:

我创建了一个新的服务器来托管一个 Rails 3.2 应用程序和一个托管在同一服务器上的 mysql 服务器。

我不断收到 'xxxxx-xxxxx.linode.com' is not allowed to connect to this MySQL server (Mysql2::Error)

我检查了所有的配置,它似乎是正确的。我可以使用 mysql 命令 sequal pro 访问 mysql 服务器,还可以像这样执行 rake db:migrate:

bundle exec rake db:migrate RAILS_EV=production

我正在使用乘客,这是我的 database.yml

 production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: nst_production
  pool: 5
  host: localhost
  username: root
  password: password
  timeout: 5000

有什么想法吗?

【问题讨论】:

  • 我们的设置差不多,所以也许我可以帮忙。确保当您第一次登录 mysql 时,您已经创建了另一个有权写入和创建、更新和删除数据库和表的用户帐户。如果你有,那么确保你已经为 rails 安装了 mysql2 gem。此外,您正在运行此命令RAILS_ENV=production rake db:migrate。完成后重新启动服务器,看看是否有帮助。
  • 感谢您的回复,我已经尝试了您的所有观点,但没有成功。这是我第一次使用这个主机,所以我尝试了我的普通主机并回复你。

标签: mysql ruby-on-rails passenger


【解决方案1】:

你最好尝试通过套接字连接。

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: nst_production
  pool: 5
  socket:  /tmp/mysql.sock 
  username: root
  password: password
  timeout: 5000

【讨论】:

    猜你喜欢
    • 2015-04-22
    • 2012-11-12
    • 1970-01-01
    • 2017-10-09
    • 2012-06-07
    相关资源
    最近更新 更多