MYSQL Access拒绝了Rails应用程序中的ruby脚本

时间:2016-06-27 19:05:32

标签: mysql ruby-on-rails-4 ubuntu-14.04

我有一个部署到Ubunutu 14.4 Trusty服务器的Rails 4.2应用程序。我现在遇到的问题是无法运行为我保存记录的脚本。我收到这个错误:

Access denied for user 'root'@'localhost' (using password: NO) (Mysql2::Error)

我已将生产数据库配置为使用具有正确密码的用户名root,但在重新启动服务器并尝试新配置后,我收到上述错误。

我正在通过导航到服务器上的lib /并运行ruby script9000.rb来运行脚本。该脚本运行正常,直到它尝试保存记录。

为什么会发生这种情况?

脚本在Year.find_or_create_by

上绊倒
  def save_record(record)
    sanitize_record(record)
    full_year = complete_year(@@record["year_number"])
    if full_year >= 2014
      year = Year.find_or_create_by(year: full_year)
      year.records.create(@@record)
    end
  end

2 个答案:

答案 0 :(得分:3)

Access denied for user 'root'@'localhost' (using password: NO)

这是MySQL错误,这意味着您尝试使用空白或无密码的 localhost 中的用户 root 连接到数据库。 确保您的mysql服务器上有用户root @ localhost或确保提供正确的密码。

答案 1 :(得分:1)

在描述您的工作流程时,可能会出现几个问题。

从小上下文:使用RAILS_ENV=production ruby script9000.rb

运行您的脚本