Ruby on Rails испытывает трудности с подключением к MySQL - PullRequest
0 голосов
/ 09 мая 2011

Мне трудно заставить Ruby подключиться к mySQL. Я могу заставить MYSQL подключаться с помощью MySQL, так что это хорошо. Вот ошибка, которую я получаю, когда пытаюсь запустить DBConsole.

W:\testMySQL>rails dbconsole
Enter password: ********
ERROR 1045 (28000): Access denied for user 'coffeetowndev'@'localhost' (using pa
ssword: YES)

Я использую базу данных в учетной записи GoDaddy, поэтому я не могу предоставить все привилегии этому пользователю. Я позвонил godaddy, и они поклялись, что их отдел RoR смог подключиться, используя мои настройки. Говоря об этом, вот файл database.yml.

development:
 adapter: mysql
 encoding: utf8
 reconnect: false
 port: 3306
 database: coffeetowndev
 pool: 5
 username: coffeetowndev
 password: ********
 hostname: coffeetowndev.db.5850247.hostedresource.com

в связанной / несвязанной заметке я не могу установить гем MySQL2 для установки, поэтому я использую тот MySQL.

редактировать: весь файл database.yml

development:
 adapter: mysql
 encoding: utf8
 reconnect: false
 port: 3306
 database: coffeetowndev
 pool: 5
 username: coffeetowndev
 password: ********
 hostname: coffeetowndev.db.5850247.hostedresource.com

test:
 adapter: mysql
 encoding: utf8
 reconnect: false
 port: 3306
 database: coffeetowntest
 pool: 5
 username: coffeetowntest
 password: ********
 hostname: coffeetowntest.db.5850247.hostedresource.com


production:
 adapter: mysql
 encoding: utf8
 reconnect: false
 port: 3306
 database: coffeetown
 pool: 5
 username: coffeetown
 password: ********
 hostname: coffeetown.db.5850247.hostedresource.com

Ответы [ 2 ]

0 голосов
/ 09 мая 2011

Используете ли вы производственные настройки при развертывании в Godaddy, вместо разработки? У меня нет опыта использования godaddy для размещения приложений Rails, но возможно, что они настроили все размещенные приложения по умолчанию на производственную среду (многие хосты rails делают). Поэтому, возможно, он не использует ожидаемую комбинацию имени пользователя и пароля, если использует другую среду.

Вы также можете попробовать проверить свои учетные данные, написав быстрый и грязный тестовый скрипт PHP, что-то вроде этого:

$con = mysql_connect("coffeetowndev.db.5850247.hostedresource.com","coffeetowndev","******");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
echo 'Connected successfully';

mysql_close($con);

Кроме того, над ним написано, что он не работает, но пытается использовать пользователя 'coffeetowndev'@'localhost'. Вы должны убедиться, что вы предоставили разрешения этому пользователю, используя что-то вроде этого:

grant select,insert,update,delete on coffeetowndev.* to 'coffeetowndev'@'localhost' identified by ********
0 голосов
/ 09 мая 2011

У вас установлен PHPMyAdmin на вашем сервере SQL?Как правило, всякий раз, когда я создаю новых пользователей, я прохожу через PHPMyAdmin и настраиваю пользователя с предоставлением доступа к базе данных, с которой я работаю на RoR.Ваш database.yml выглядит нормально, проблема на стороне SQL.

...