Mysql2 :: Ошибка (доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: НЕТ)): - PullRequest
5 голосов
/ 30 декабря 2011

Просто установите новое приложение rails 3.1.3, используя mysql (mysql2 gem) на сервере CentOS 5 / apache / passenger ... Я правильно настроил базу данных и пользователя для этой базы данных, и я добавил логин и информацию вмой файл database.yml ... Я могу сгенерировать материал, и rake db: migrate ok, но "Извините, но что-то пошло не так".сообщение отображается в браузере, и это сообщение отображается в моем файле production.log!

Запущен GET "/" для xx.xxx.xx.xxx в 2011-12-29 19:52:35-0600

Mysql2 :: Ошибка (доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: НЕТ)):

странно, я не использую "root" в качестве логинаинформация в database.yml ... Есть предложения?

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/mysql/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/mysql/mysql.sock

Ответы [ 5 ]

4 голосов
/ 30 декабря 2011

Куча вопросов / предложений:

  1. Можете ли вы подключиться к базе данных с помощью терминала?

    mysql -u root -p
    
  2. Также есть ли у васпробовал это в режиме разработки?Если да, пожалуйста, поделитесь результатами.

  3. Попробуйте удалить

    socket: /var/lib/mysql/mysql.sock
    
  4. Правильно ли установлен Gem?

    gem check mysql2
    

РЕДАКТИРОВАТЬ:

Существует много различий в режиме разработки и производства (включая, но не ограничиваясь, переменные среды, такие как строка подключения к базе данных, актив предварительно-компиляция, другой уровень ведения журнала, настраиваемая информация отладки на страницах ошибок)

** Смущает !! **

Вы не включили свойство "host" в свою конфигурацию!

Попробуйте это:

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  host: your_host #<----- normally localhost
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/mysql/mysql.sock
1 голос
/ 03 января 2012

Хорошо, я думаю, это все часть моей кривой обучения:)

В итоге получилось следующее: изначально я установил gem для пассажира версии 3.0.9, я выполнил обновление gem --system и установил версию 3.0.11. Поэтому сервер подумал, что использует версию 3.0.11, и я все еще указывал на библиотеки для 3.0.9 в моем файле rails_server.conf. Я нашел, как обновить на http://blog.phusion.nl/

0 голосов
/ 06 июля 2016

Для меня это было ошибкой из-за отсутствия базы данных.Итак, я создал один используя:

$ rake db: create

И проблема была решена: D

0 голосов
/ 07 января 2014

Вы создали базу данных "the_db_I_made" ?

Сначала создайте ее, затем только запустите, иначе она будет постоянно отображать эту ошибку.

Теперь попробуйтеНастройте его.

0 голосов
/ 20 марта 2013
  1. В Ubuntu 1) / usr / bin / mysql_secure_installation 2) Запустите в терминале, следуйте инструкциям, тщательно измените пароль mysql здесь.Запустите сервер rails и проверьте приложение .. оно будет работать
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...