Mam aplikację Rails 4.2 wdrożoną na serwerze Ubunutu 14.4 Trusty. Problem, który mam teraz, to niezdolność do uruchomienia skryptu, który zapisuje dla mnie zapisy. Otrzymuję ten błąd:Odmowa dostępu do skryptu Ruby w aplikacji RYS w aplikacji Railsy
Access denied for user 'root'@'localhost' (using password: NO) (Mysql2::Error)
mam skonfigurowaną bazę produkcyjną w użyciu korzeń nazwę użytkownika z odpowiednim hasłem, ale po ponownym uruchomieniu serwera i wypróbowanie nowej konfiguracji otrzymuję powyższy błąd.
Uruchamiam skrypt, przechodząc do biblioteki lib/na serwerze i uruchamiając ruby script9000.rb
. Skrypt działa poprawnie, dopóki nie spróbuje zapisać rekordu.
Dlaczego to może się stać?
Skrypt fauluje się na 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
nie widząc skryptu nie ma wiele do zrobienia oprócz ślepo odgadnąć – jaydel
dodałem część gdzie łamie. Rzeczywisty skrypt jest ogromny. To działało na innym serwerze, który miałem. Domyślam się, że ma to coś wspólnego z konfiguracją MYSQL. –
Wygląda na problem dotyczący poświadczeń MySQL. Gdzie Twoja aplikacja określa użytkownika i loginu? Być może byłaby to dobra okazja do ustawienia nowego użytkownika MySQL z bardziej rygorystycznymi privami, zamiast używania root'a? – Nathan