我有一個部署到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