2016-06-08 4 views
1

Я пытался подключиться к базе данных RDS из приложения, которое я размещаю на эластичном бобовом стебле. Это дает мне эту ошибку:Amazon RDS Неизвестный хозяин MYSQL

[Instance: i-0f0051f7599e17190] Command failed on instance. Return code: 1 
Output: (TRUNCATED)... -s /bin/bash -c 'leader_only bundle exec rake 
db:migrate' webapp rake aborted! Mysql2::Error: Unknown MySQL server host 
'xxxxxxxxxx.xxxxxxxxx.us-west-2.rds.amazonaws.com' (25) Tasks: TOP => 
db:migrate (See full trace by running task with --trace). Hook 
/opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh failed. For 
more detail, check /var/log/eb-activity.log using console or EB CLI. 

Хост-сервер является правильным имя хоста базы данных, я просто это будет отмечено знаком X.
Я могу подключиться к этой базе данных и просматривать ее с помощью инструментария MYSQL, но не на localhost или AWS. Я пытался поставить хозяина в довольно вручную, чем использовать переменную, но это дало мне ту же ошибку

Вот где я пытаюсь соединить в моем файле database.yml

production: 
    adapter: mysql2 
    encoding: utf8 
    database: <%= ENV['RDS_DB_NAME'] %> 
    username: <%= ENV['RDS_USERNAME'] %> 
    password: <%= ENV['RDS_PASSWORD'] %> 
    host: <%= ENV['RDS_HOSTNAME'] %> 
    port: <%= ENV['RDS_PORT'] %> 

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

Когда я пытаюсь подключиться на локальном хосте это дает мне

mysql2 Ошибка не удается подключиться к серверу MySQL на «локальный» (10061)

+0

Является ли ваша база данных RDS в VPC? – error2007s

+0

«Я могу подключиться к этой базе данных и просматривать эту информацию с помощью инструментария MYSQL, но не на локальном хосте или AWS». Если вы не можете подключиться к localhost или AWS, то где вы работаете с MySQL Workbench, из которого вы можете подключиться? –

+0

Кроме того, это, скорее всего, проблема безопасности группы. Посмотрите на свои группы безопасности, и если вы не можете понять это, разместите настройки SG здесь. –

ответ

0

Вышеупомянутая проблема связана с тем, что ваш экземпляр EC2 не имеет доступа к вашему MYSQL RDS. Пожалуйста, добавьте доступ, и ваше приложение начнет работать. Пожалуйста, следуйте этому руководству http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html#USER_WorkingWithSecurityGroups.AuthorizingEC2

+0

Тот, кто написал код библиотеки, который возвращает «неизвестный хост», когда он на самом деле означает «время ожидания соединения», должен иметь навсегда отмену привилегий на клавиатуре. –