2015-03-06 6 views
4

Я установил Ruby on Rails 4.2 на Ubuntu успешно и использую MySQL в качестве моей базы данных, но когда я хочу увидеть новое приложение, которое я создал в браузере, используя локальный: 3000Mysql2 :: Ошибка Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: нет) ruby ​​on rails

я получаю сообщение об ошибке:

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

Extracted source (around line #70): 


     socket = socket.to_s unless socket.nil? 

70  connect user, pass, host, port, database, socket, flags 
     end 

     def self.default_query_options 

Любая помощь?

+0

Это проблема подключения, являются ли правильные конфигурации в вашей конфигурации config.data.yml? – victorkohl

+0

Каков ваш пароль mysql для пользователя root? обновите свой 'config/database.yml' паролем вашего пользователя root. –

+0

Вы протестировали, что ваша база данных разрешает доступ для пользователя root без пароля на хосте localhost? –

ответ

0

Я установил Ruby 2.2, ROR 4.2.0, mysql server 5.6 на свою Mac OS 10.9 и протестировал свое первое приложение ROR. Rails Приложение использует базу данных sqlite3 по умолчанию, и на этот раз я пытаюсь использовать mysql.

Вот мои шаги:

  1. Используйте CLI: рельсов нового my_app -d MySQL.
  2. Перейдите в каталог my_app и запустите сервер rails по CLI: rails s.
  3. Посетите адрес с http://localhost:3000
  4. Затем получил тот же вопрос, как ваша: сообщение об ошибке mysql2. Попробуйте проверить файл: my_app/config/database.yml

    Решение: Введите пароль для пользователя root. (который должен поддерживать совместимость с mysql, который был настроен ранее).

  5. Перезапустить сервер рельсов.
  6. Тогда, Получил другую ошибку Mysql2: неизвестная база данных XXX.

    Решение: потому что ROR не может найти базу данных XXX. Перейдите в каталог my_app и создайте базу данных с CLI: rake db: create.

  7. Перезапустить сервер рельсов и посетить http://localhost:3000. ОК!