Доступ к MYSQL запрещен ruby script в приложении Rails


У меня есть приложение Rails 4.2, развернутое на надежном сервере Ubunutu 14.4. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу запустить сценарий, который сохраняет записи для меня. Я получаю эту ошибку:

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 5

2 ответа:

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

Это ошибка MySQL, которая означает, что вы пытаетесь подключиться к базе данных с пользователем root из localhost с пустым или без пароля. Убедитесь, что у вас есть пользователь root@localhost на вашем сервере mysql или убедитесь, что вы предоставили правильный пароль.

Это может быть связано с несколькими проблемами, когда вы описываете свой рабочий процесс.

Из малого контекста: запустите скрипт с помощью RAILS_ENV=production ruby script9000.rb