Рубин на рельсах MySQL проблема - PullRequest
2 голосов
/ 03 апреля 2011

Я создаю свое первое приложение ROR. Подробности:

создание нового приложения ->

rails new simple_cms -d mysql

создание контроллера и соответствующего вида ->

rails generate controller demo index

Затем, когда я запустил сервер rails, страница http://localhost:3000 работает отлично. но когда я пытаюсь перейти на страницу, которую я только что создал, http://localhost:3000/demo/index, она выдает ошибку MYSQL:

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

Сначала я думаю, что это просто проблема с подключением к базе данных, поэтому я прошел через интерфейс MYSQL и создал новую базу данных под названием: simple_cms_development и я также сделал соответствующего пользователя: simple_cms с предоставленными привилегиями.

и, наконец, я настроил файл database.yml для соответствия деталям:

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: simple_cms_development
  pool: 5
  username: simple_cms
  password: developer
  host: localhost

Но, тем не менее, он выдает ту же проблему mysql: Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: НЕТ)

Пожалуйста. любому, кто знает, как использовать mysql в качестве базы данных для приложения rails .. Помощь будет очень признателен. Большое вам спасибо!

ОБНОВЛЕНИЕ: это все, что находится внутри файла database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: simple_cms_development
  pool: 5
  username: root
  password: developer
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_test
  pool: 5
  username: root
  password:
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_production
  pool: 5
  username: root
  password:
  host: localhost

Ответы [ 2 ]

1 голос
/ 26 января 2012

Я обнаружил, что вам нужно добавить следующую строку в config/database.yml:

host: localhost

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 апреля 2011

Единственная причина, по которой вы можете столкнуться с этой проблемой, заключается в том, что вы загружаете свой сервер в другой среде. Я думаю, что в вашем случае вы загружаете свой сервер в производственном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...