我有一个部署到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
答案 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