Проблема с Ruby on rails mysql

75
4

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


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


rails new simple_cms -d mysql

создание контроллера и соответствующего представления →


rails generate controller demo index

Затем, когда я запустил сервер рельсов, страница 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. Помощь будет действительно оценена. Большое вам спасибо!


UPDATE: это все, что внутри файла 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

спросил(а) 2011-04-03T10:17:00+04:00 10 лет назад
1
Решение
62

Я обнаружил, что вам нужно добавить следующую строку в 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

ответил(а) 2012-01-26T20:23:00+04:00 9 лет, 2 месяца назад
62

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

ответил(а) 2011-04-03T12:05:00+04:00 10 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема