Как подключиться к RDS из локально созданного django?
Я пытаюсь подключиться к Aurora на RDS из локального приложения Django.
В качестве среды выполнения используется Docker.
Публичный доступ разрешен для подключения к RDS с локального.
<Почему я не могу подключиться из Django?
Попробованные команды:
$ mysql -h xxxx.xxxx.ap-northeast-1.rds.amazonaws.com -u admin -p
mysql>
Эта команда позволяет проникнуть внутрь mysql.
<DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxxxxxxx',
'USER': 'admin',
'PASSWORD': 'xxxxxxx',
'HOST': 'xxxxx.xxxxxxx.ap-northeast-1.rds.amazonaws.com',
'PORT': '3306',
}
}
Вывод сообщения об ошибке:
django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'xxxxx.xxxxx.ap-northeast-1.rds.amazonaws.' (111)")
вы должны просто использовать все в одной ссылке, используя dj_database_url В ссылке должны быть только все учетные данные, как например postgresql://USERNAME:PASSWORD@DB_HOST:DB_PORT/DATABASE_NAME Вы можете поместить его в файл .env vars или использовать его напрямую, как вы хотите
DATABASES = {
"default": {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': dj_database_url.parse(os.environ.get("DB_URL")),
},
}