Hi everyone, I'm having trouble connecting an existing MySQL database through the settings.py file in my project and was wondering if anyone has ever experienced similar issues. The database section of settings.py appears as follows:
DATABASES = { 'default': { 'NAME': 'detectiondata-dev', 'ENGINE': 'django.db.backends.mysql', 'USER': 'user_with_admin_privileges', 'PASSWORD': 'admin_password', 'HOST': 'host_name_from_rds', 'PORT': '3306', }, } where 'user_with_admin_privileges' is an obscured (but working) admin username - same thing with the password and hostname. Port 3306 is allowed through my firewall, inbound/outbound. The database is a running MySQL instance on an AWS account. Interestingly enough, my laptop (running environment is Windows Subsystem for Linux) seems to be able to recognize/connect to the database - I'm successfully able to view the database using the mysql command in bash: msql -u 'user_with_admin_privileges' -p -h 'host_name_from_rds' ... where I then enter 'admin_password' and can successfully interact with the remote DB. Additionally, commands such as telnet and nc can connect to the specified host. I also tried connecting another public database and encountered similar errors, even though I could otherwise view the database remotely. When trying to migrate the existing database, or even run the server, Django freaks out (see attached error files). I'm executing from within a virtualenv using python 3, not sure what's wrong. Searched all over the web and through this group and haven't found a similar problem, so I thought I'd post as a last resort. Thanks! -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/cf5a90f0-b6f5-404e-9649-459d3db9159c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
output from command: $ python manage.py check &> error_check.txt Traceback (most recent call last): File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 234, in get_new_connection return Database.connect(**conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect return Connection(*args, **kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in __init__ super(Connection, self).__init__(*args, **kwargs2) _mysql_exceptions.OperationalError: (1049, "Unknown database 'detectiondata_dev'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/__init__.py", line 365, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **cmd_options) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 335, in execute output = self.handle(*args, **options) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/commands/check.py", line 65, in handle fail_level=getattr(checks, options['fail_level']), File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 364, in check include_deployment_checks=include_deployment_checks, File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 351, in _run_checks return checks.run_checks(**kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/checks/registry.py", line 73, in run_checks new_errors = check(app_configs=app_configs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/checks/model_checks.py", line 27, in check_all_models errors.extend(model.check(**kwargs)) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/base.py", line 1200, in check errors.extend(cls._check_fields(**kwargs)) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/base.py", line 1272, in _check_fields errors.extend(field.check(**kwargs)) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 894, in check errors = super().check(**kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 206, in check errors.extend(self._check_backend_specific_checks(**kwargs)) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 303, in _check_backend_specific_checks return connections[db].validation.check_field(self, **kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/validation.py", line 21, in check_field field_type = field.db_type(self.connection) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 648, in db_type return connection.data_types[self.get_internal_type()] % data File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 133, in data_types if self.features.supports_microsecond_precision: File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/features.py", line 65, in supports_microsecond_precision return self.connection.mysql_version >= (5, 6, 4) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 343, in mysql_version with self.temporary_connection() as cursor: File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__ return next(self.gen) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 576, in temporary_connection cursor = self.cursor() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor return self._cursor() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor self.ensure_connection() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 234, in get_new_connection return Database.connect(**conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect return Connection(*args, **kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in __init__ super(Connection, self).__init__(*args, **kwargs2) django.db.utils.OperationalError: (1049, "Unknown database 'detectiondata_dev'")
output from command: $ python manage.py inspectdb &> error_inspect.txt Traceback (most recent call last): File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 234, in get_new_connection return Database.connect(**conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect return Connection(*args, **kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in __init__ super(Connection, self).__init__(*args, **kwargs2) _mysql_exceptions.OperationalError: (1049, "Unknown database 'detectiondata_dev'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/__init__.py", line 365, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **cmd_options) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/base.py", line 335, in execute output = self.handle(*args, **options) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/commands/inspectdb.py", line 28, in handle for line in self.handle_inspection(options): File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/core/management/commands/inspectdb.py", line 44, in handle_inspection with connection.cursor() as cursor: File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor return self._cursor() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor self.ensure_connection() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 234, in get_new_connection return Database.connect(**conn_params) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect return Connection(*args, **kwargs) File "/home/akshayck/.virtualenvs/djangodev/lib/python3.6/site-packages/MySQLdb/connections.py", line 204, in __init__ super(Connection, self).__init__(*args, **kwargs2) django.db.utils.OperationalError: (1049, "Unknown database 'detectiondata_dev'")