programing

장고에 MariaDB 컬럼 스토어 연결

instargram 2023. 10. 24. 20:08
반응형

장고에 MariaDB 컬럼 스토어 연결

분석 목적으로 django, mariadb로 도커화된 앱을 구축하려고 합니다.

유감스럽게도 django에서 columnstore mariadb database에 연결할 수 없는 다음 오류가 발생했습니다.

dmd_web       | Traceback (most recent call last):
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
dmd_web       |     self.connect()
dmd_web       |   File "/usr/local/lib/python3.6/site
packages/django/db/backends/base/base.py", line 194, in connect

dmd_web       |     self.connection = self.get_new_connection(conn_params)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 236, in get_new_connection
dmd_web       |     return Database.connect(**conn_params)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/__init__.py", line 84, in Connect
dmd_web       |     return Connection(*args, **kwargs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 166, in __init__
dmd_web       |     super(Connection, self).__init__(*args, **kwargs2)
dmd_web       | MySQLdb._exceptions.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)")
dmd_web       | 
dmd_web       | The above exception was the direct cause of the following exception:
dmd_web       | 
dmd_web       | Traceback (most recent call last):
dmd_web       |   File "manage.py", line 15, in <module>
dmd_web       |     execute_from_command_line(sys.argv)
dmd_web       |   File "/usr/local/lib/python3.6/site-        packages/django/core/management/__init__.py", line 371, in execute_from_command_line
dmd_web       |     utility.execute()
dmd_web       |   File "/usr/local/lib/python3.6/site-    packages/django/core/management/__init__.py", line 365, in execute
dmd_web       |     self.fetch_command(subcommand).run_from_argv(self.argv)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv
dmd_web       |     self.execute(*args, **cmd_options)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 332, in execute
dmd_web       |     self.check()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 364, in check
dmd_web       |     include_deployment_checks=include_deployment_checks,
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 351, in _run_checks
dmd_web       |     return checks.run_checks(**kwargs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/checks/registry.py", line 73, in run_checks
dmd_web       |     new_errors = check(app_configs=app_configs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/core/checks/model_checks.py", line 27, in check_all_models
dmd_web       |     errors.extend(model.check(**kwargs))
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 1200, in check
dmd_web       |     errors.extend(cls._check_fields(**kwargs))
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 1272, in _check_fields
dmd_web       |     errors.extend(field.check(**kwargs))
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 894, in check
dmd_web       |     errors = super().check(**kwargs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 206, in check
dmd_web       |     errors.extend(self._check_backend_specific_checks(**kwargs))
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 303, in _check_backend_specific_checks
dmd_web       |     return connections[db].validation.check_field(self, **kwargs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/validation.py", line 21, in check_field
dmd_web       |     field_type = field.db_type(self.connection)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 648, in db_type
dmd_web       |     return connection.data_types[self.get_internal_type()] % data
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
dmd_web       |     res = instance.__dict__[self.name] = self.func(instance)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 133, in data_types
dmd_web       |     if self.features.supports_microsecond_precision:
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
dmd_web       |     res = instance.__dict__[self.name] = self.func(instance)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/features.py", line 65, in supports_microsecond_precision
dmd_web       |     return self.connection.mysql_version >= (5, 6, 4)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
dmd_web       |     res = instance.__dict__[self.name] = self.func(instance)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 345, in mysql_version
dmd_web       |     with self.temporary_connection() as cursor:
dmd_web       |   File "/usr/local/lib/python3.6/contextlib.py", line 81, in __enter__
dmd_web       |     return next(self.gen)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 576, in temporary_connection
dmd_web       |     cursor = self.cursor()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor
dmd_web       |     return self._cursor()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor
dmd_web       |     self.ensure_connection()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
dmd_web       |     self.connect()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
dmd_web       |     raise dj_exc_value.with_traceback(traceback) from exc_value
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
dmd_web       |     self.connect()
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
dmd_web       |     self.connection = self.get_new_connection(conn_params)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 236, in get_new_connection
dmd_web       |     return Database.connect(**conn_params)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/__init__.py", line 84, in Connect
dmd_web       |     return Connection(*args, **kwargs)
dmd_web       |   File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 166, in __init__
dmd_web       |     super(Connection, self).__init__(*args, **kwargs2)
dmd_web       | django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)")

나의 Settings.py 데이터베이스 구성은 다음과 같습니다.

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'docker',
    'USER': 'docker',
    'PASSWORD': 'docker',
    "DEFAULT-CHARACTER-SET": 'utf8',
    'HOST': 'db',
    'PORT': 3306,
}
}

django로 column store를 실행할 수 있도록 구성해야 하는 다른 Engine이 있습니까?

언급URL : https://stackoverflow.com/questions/58605333/connect-mariadb-column-store-to-django

반응형