我有一个部署到Ubunutu 14.4 Trusty服务器的Rails 4.2应用程序。我现在遇到的问题是无法运行保存记录的脚本。我得到这个错误:MYSQL在Rails应用程序中拒绝ruby脚本
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
脚本没有看到剧本有没有很多工作要做,除了盲目猜测 – jaydel
我添加它打破了一部分。实际的剧本是巨大的。这是在另一台服务器上工作。我的猜测是它与MYSQL的设置方式有关。 –
看起来像一个MySQL凭据关注。你的应用在哪里指定用户和登录?也许这将是一个很好的机会来设置一个新的MySQL用户更严格的privs,而不是使用root? – Nathan